我在我的项目中使用 spring 和 spring security 4。 我必须使用 ROLE_USER 或 ROLE_TIMER_TASK 调用我的 dao 方法。
目前我正在使用这个注解 -
@Secured({"ROLE_USER", "ROLE_TIMER_TASK"})
这个@Secured 注释只允许那些同时拥有这两个角色的用户,但我想由拥有任何一个角色的用户调用这个方法。
如果用户具有此角色中的任何一个角色并调用此方法,是否有可能?
最佳答案
对于或,请改用@PreAuthorize
注解:
@PreAuthorize("hasRole('ROLE_USER') or hasRole('ROLE_TIMER_TASK')")
在 Spring Security 版本 4 中,可以省略 ROLE_
前缀:
@PreAuthorize("hasRole('USER') or hasRole('TIMER_TASK')")
确保您在安全配置中启用了前注和后注。
关于spring - 在 Spring Security 中,@Secured 注释中是否允许多个角色,条件为 'or',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36892152/