1

可能重复:
如何创建自定义方法以在 Spring 安全表达式语言注释中使用

我希望在内部使用自定义方法,@PreAuthorize例如:

@PreAuthorize("canPlayGolf(something,something)")

为此,我创建了一个副本MethodSecurityExpressionRoot(不能对其进行子类化,因为它在Spring Security 3.0.6中具有包访问权限)并在那里添加我的自定义函数。我需要在 中使用这个自定义表达式根MethodSecurityExpressionHandler,但由于它是硬编码MethodSecurityExpressionRoot的,我将它子类化以使用我的自定义表达式根(我必须创建一个副本,MethodSecurityEvaluationContext因为我必须在我的覆盖中使用它createEvaluationContext并且它再次具有包访问权限) .

最后,我不知道如何将我的自定义表达式处理程序连接到 中ExpressionBasedPreInvocationAdvice,以便我可以使用我的自定义表达式@PreAuthorize

4

0 回答 0