spring security - 如何配置ExpressionBasedPreInvocationAdvice以使用自定义表达式处理程序?

时间:2012-04-19 05:49:21

标签: spring security spring-security spring-3

  

可能重复:
  How to create custom methods for use in spring security expression language annotations

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

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

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

最后,我无法弄清楚如何在ExpressionBasedPreInvocationAdvice中连接自定义表达式处理程序,以便我可以在@PreAuthorize中使用自定义表达式

0 个答案:

没有答案