将变量传递给注释
问题描述:
我使用Spring Security和@PreAuthorize
来保护方法。我想要做的事,如:将变量传递给注释
控制器:
@PreAuthorize(SampleStaticClass.STATIC_FINAL_FIELD)
void someMethod() {}
服务:
// SampleStaticClass
public static final String STATIC_FINAL_FIELD = someService().getThisFieldFromDatabase();
但这需要常量表达式。任何解决方案
答
可以或者(a)硬编码值之间添加映射并存储在DB或(b)取溶液从this thread:
@PreAuthorize("@mySecurityService.hasCustomPermission()")
some method() {}
当然,我更喜欢的第一个,因为它是简单的实现和支持。