Spring Boot :从yaml文件加载安全角色

vhmi4jdf  于 2022-11-21  发布在  Spring
关注(0)|答案(1)|浏览(97)

我有一个Sping Boot 应用程序,它通过@RollsAllowed('NAME_OF_THE_ROLE')获得了方法级安全性。我遇到的情况是,当应用程序从开发环境转到更高的环境,再从那里转到生产环境时,安全组的名称会发生变化。关于如何根据我将应用程序部署到的环境,在@RollsAllowed()中注入安全名称,有什么想法吗?

k2arahey

k2arahey1#

解决方案1:多重公差

如果角色名称没有及时更改,并且环境之间没有名称冲突,则可以根据环境将@Secured注解用于不同的组。
例如@Secured({ "DEV_VIEWER", "ALPHA_VIEWER", "PRD_VIEWER"})

解决方案2:手工制作

否则,如果您需要某些东西,可以使用自定义PermissionEvaluator切换到@PreAuthorize注解。
Baeldung对https://www.baeldung.com/spring-security-create-new-custom-security-expression这个主题做了一个相当完整的指导

相关问题