重複の可能性: Spring
セキュリティ式言語アノテーションで使用するカスタム メソッドを作成する方法
次のようなカスタムメソッドを使用したい@PreAuthorize
:
@PreAuthorize("canPlayGolf(something,something)")
そのために、のレプリカを作成し( Spring Security 3.0.6MethodSecurityExpressionRoot
でパッケージにアクセスできるため、サブクラス化できません)、そこにカスタム関数を追加しました。でこのカスタム式ルートを使用する必要がありますが、ハードコーディングされているため、カスタム式ルートを使用するようにサブクラス化しました (のオーバーライドで使用する必要があったため、 のレプリカも作成する必要があり、再びパッケージ アクセスが必要でした) 。 .MethodSecurityExpressionHandler
MethodSecurityExpressionRoot
MethodSecurityEvaluationContext
createEvaluationContext
最後に、カスタム式ハンドラーを で配線する方法がわかりませんExpressionBasedPreInvocationAdvice
。これにより、カスタム式を@PreAuthorize