将变量传递给注释

时间:2014-10-04 16:20:30

标签: java spring spring-security authorization

我使用Spring Security和@PreAuthorize来保护方法。我想做点什么:

控制器:

@PreAuthorize(SampleStaticClass.STATIC_FINAL_FIELD)
void someMethod() {}

服务:

// SampleStaticClass
public static final String STATIC_FINAL_FIELD = someService().getThisFieldFromDatabase();

但这需要不断表达。任何解决方案?

1 个答案:

答案 0 :(得分:0)

您可以(a)在硬编码值之间添加映射并存储在DB中,或者(b)从this thread获取解决方案:

@PreAuthorize("@mySecurityService.hasCustomPermission()")
some method() {}

当然我更喜欢第一个,因为它更容易实现和支持。