我正在尝试通过Spring Security @PreAuthorize注释访问当前活动的配置文件,如
@PreAuthorize("hasRole('SOME_' + #{ environment.activeProfiles[0] } + '_ROLE')")
我收到以下例外:
EL1043E:意外的令牌。预期的'标识符'但是'lcurly({)'
有没有办法在不编写自定义表达式处理程序的情况下执行此操作?
答案 0 :(得分:0)
让它以复杂的方式工作。似乎它应该更直接。这感觉就像一个黑客:
@PreAuthorize("hasRole('SOME_' + #profile + '_ROLE')")
public void method(@Value("#{ environment.getActiveProfiles()[0]?.toUpperCase() }") String profile)