Spring Security @PreAuthorize

时间:2018-02-09 16:38:54

标签: java spring spring-mvc spring-boot spring-security

我正在尝试通过Spring Security @PreAuthorize注释访问当前活动的配置文件,如

@PreAuthorize("hasRole('SOME_' + #{ environment.activeProfiles[0] } + '_ROLE')")

我收到以下例外:

EL1043E:意外的令牌。预期的'标识符'但是'lcurly({)'

有没有办法在不编写自定义表达式处理程序的情况下执行此操作?

1 个答案:

答案 0 :(得分:0)

让它以复杂的方式工作。似乎它应该更直接。这感觉就像一个黑客:

@PreAuthorize("hasRole('SOME_' + #profile + '_ROLE')")
public void method(@Value("#{ environment.getActiveProfiles()[0]?.toUpperCase() }") String profile)