【发布时间】:2014-07-30 01:15:21
【问题描述】:
在我的 Spring 应用程序中,出于安全目的,我的控制器和服务类中的方法具有此注释:
@PreAuthorize("hasPermission(#user, 'cadastra')")
第二个参数,权限,应该是这样的格式:
<<action_name>>_<<class_name>>
考虑到类名由this.getClass().getName() 持有,我应该使用什么表达式来完成此操作?
【问题讨论】:
-
你的意思是这不起作用:
@PreAuthorize("hasPermission(#user, 'cadastra_' + this.class.name)")? -
我就是这样尝试的,但不起作用。在此之前,我也尝试使用:
@PreAuthorize("hasPermission(#user, 'cadastra_#this.class.name')")unsuccessfully。 -
这两个建议的组合也许是:
@PreAuthorize("hasPermission(#user,'cadastra_'+#this.class.name)") -
是的,我也尝试过,但在所有情况下都被拒绝访问。有什么方法可以验证这个字符串的最终值是接收的吗?
标签: spring spring-mvc spring-security spring-el