【发布时间】:2012-03-14 08:22:54
【问题描述】:
在我的 Grails 项目中,我使用 Spring Security 插件定义了多个 hierarchical roles,例如ROLE_USER > SOME_OTHER_ROLE。当使用 @Secured 注释保护控制器方法时,它工作得很好。但是,我也想在我的代码中以编程方式检查一个用例的角色。使用以下方法,即使用户通过分层角色定义继承角色,我也总是得到 false:
request.isUserInRole('SOME_OTHER_ROLE')
此外,以下调用永远不会直接返回继承的角色:
SecurityContextHolder.context?.authentication?.authorities
springSecurityService.getPrincipal().getAuthorities()
有没有办法检查用户是否也有继承的角色?
【问题讨论】: