読者です 読者をやめる 読者になる 読者になる

S2Buriでユーザ権限ごとにアクセス制御(4)

seasar

BuriActivitySelectRule#selectActivity()でActivityが1つに絞り込まれていた場合は、BuriWorkFlowsUtil#getFirstActivity()を実行しないルートにはいるif文がありました。

このルートに入ってしまうと、buri2.xpdlで書いた例の権限チェックが走らないことになります。
トレースしてみた結果、ACTIVITYアノテーションの有無でこのルートに入る入らないが分かれていました。ACTIVITYアノテーションの指定で最初からACTIVITYが決まっているからかな?と思ったんですが、

ACTIVITYアノテーションは決定後にActivity名をチェックして一致していることを確認するためのモノですよ。その名前でActivityを指定する動きはしてないです
id:makotan

とコメントいただいたので、ちょっと自信なし。


まあ、メカニズムはともかく現実の動きとしてはこうなっているようです。
前にも書いたとおり元々Activityが1つに決まりさえすればParticipantを使わなくてもOKだという設計みたいなので、これはこれでいいんですが権限好きな僕としては悲しいわけです。

というわけで、BuriActivitySelectRule#selectActivity()のif文を取っ払ってしまうとどうなるんだろう、とか思っているところで時間切れです。

眠いー。
おやすみなさい。