我希望在内部使用自定义方法,@PreAuthorize
例如:
@PreAuthorize("canPlayGolf(something,something)")
为此,我创建了一个副本MethodSecurityExpressionRoot
(不能对其进行子类化,因为它在Spring Security 3.0.6中具有包访问权限)并在那里添加我的自定义函数。我需要在 中使用这个自定义表达式根MethodSecurityExpressionHandler
,但由于它是硬编码MethodSecurityExpressionRoot
的,我将它子类化以使用我的自定义表达式根(我必须创建一个副本,MethodSecurityEvaluationContext
因为我必须在我的覆盖中使用它createEvaluationContext
并且它再次具有包访问权限) .
最后,我不知道如何将我的自定义表达式处理程序连接到 中ExpressionBasedPreInvocationAdvice
,以便我可以使用我的自定义表达式@PreAuthorize