java - Spring Security @PreAuthorize

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

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

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

我收到以下异常:

EL1043E:意外的 token 。应为“标识符”,但结果为“lcurly({)”

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

最佳答案

让它以一种复杂的方式工作。看起来应该更简单。这感觉就像一个黑客:

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

关于java - Spring Security @PreAuthorize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48710330/

相关文章:

java - 尽管java中的PQ默认是一个min-heap,为什么有些人会重写使用PriorityQueue实现minheap的比较器函数?

java - 为移动正方形设置边框

Java JSON/GSON - 搜索数组中的所有对象并返回匹配项

java - 选择 JTable 中显示的行

java - 在 Linux 上部署 spring boot 应用程序时,日志文件端点出现错误 404

spring - 使用 spring-cloud-vault 访问保管库 secret 并在 application.properties 中使用它

spring - 不扩展ResourceSupport的Spring-HATEOAS

java - Spring EL 不起作用

spring - 在spring数据jpa存储库方法查询上附加自定义条件

java - 更改 GET 页面请求上的数据(处理预加载请求)