在Spring Security中@Secured批注中是否带有'或'条件的多个角色
问题内容:
我在项目中使用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')")
确保在安全配置中启用了预注释和后注释。