我有控制器:
class AdminController {
def springSecurityService
@Secured(['ROLE_ADMIN', 'ROLE_USER'])
def index() {
render "test";
}
表中有角色ROLE_ADMIN的用户:
但是,当我使用时: springSecurityService.getPrincipal()。getAuthorities() 只有一个角色:ROLE_NO_ROLES
为什么?
def loggedInUser = springSecurityService.currentUser;返回正确的用户。
配置: ...
grails.plugin.springsecurity.userLookup.userDomainClassName = '...'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = '...'
grails.plugin.springsecurity.authority.className = '...'
grails.plugin.springsecurity.authority.groupAuthorityNameField = 'authorities'
grails.plugin.springsecurity.useRoleGroups = true
grails.plugin.springsecurity.securityConfigType = "Annotation"
谢谢。
答案 0 :(得分:1)
Spring Security有一个默认的UserDetailsService,它将角色分配给用户。
您可以调试它以查看出现了什么问题。
或者您创建自己的: https://grails-plugins.github.io/grails-spring-security-core/guide/userDetailsService.html
HTH