Java - 来自属性值的Spring Annotation参数
以下是我的@Secured
注释我想要定义字符串" USER_ABC"在.properties文件中,并在@Secured({myProp})
使用它,但它给了我错误
@Value('${my.property}') private string myProp;
@Secured({myProp,"ADMIN_123"})
public void mySecureMethod(){
}
而不是
@Secured({"USER_ABC","ADMIN_123"})
public void mySecureMethod(){
}
提前获得任何解决方案。
答案 0 :(得分:1)
虽然你不能使用@Secured
,因为正如Edwin指出的那样,它无法处理常量表达式,你可以使用@PreAuthorize
注释来评估SPEL表达式。
请注意,@PreAuthorize
在Spring安全过滤器链方面以及何时被调用时的工作方式略有不同。
有一个非常好的问题应该是你的第一个停靠点here。如果您有理由不能使用@PreAuthorize
,请与我们联系。