Apache ShiroをSpring MVCで使用しようとしています。Spring MVC MultiActionControllerとApache Shiro
公開している(保護したい)コントローラはMultiActionControllerです。それは与えるものではありません...私は私のコントローラメソッドに@RequiresRolesのアノテーションを使用していたが、それは動作しません
をhttp://shiro.apache.org/spring.html
:私は春用のApache史郎に彼らがここでそれを説明するように設定されている デバッグ時に見たログからのエラーは、AbstractController(MultiActionControllerのスーパークラス)のhandleRequestメソッドだけが注釈をチェックされているかのように見えます。
handleRequestから私の注釈付きメソッドへの "internal"呼び出しは、プロキシを介して呼び出されないため、Shiro注釈のチェックはありません。
呼び出し元と同じオブジェクトのメソッドへの呼び出しでも、私のメソッドの呼び出しを何とかプロキシ経由で行うことはできますか?
この問題の解決方法はありますか?あなたがコンパイル時や実行時の織りのためにAspectJを設定する必要があります事前
を私はコンパイル時の織りを使用:)ありがとうございましたし、すべて正常に動作します。 Btw、コンパイル時織りの代わりにロード時織りを使用する理由はありますか? –
@Michałあなたがこの作業に時間を費やしたくないという唯一の理由があるかもしれません。いずれのアプローチでも問題ありません。 –
春(MVC)コンテナの注釈を使用しているapache shiroの '1.2.0'はAspectJに依然依存しています。私たちはまだここで説明されているように、libフォルダにaspectj依存関係を追加する必要があります。http://stackoverflow.com/questions/7743749/shiro-authorization-permission-check-using-annotation-not-working#answer-8305355? –