Grails 2.4.4 spring 安全角色不适用于用户
Grails 2.4.4 spring security role doesn't apply to user
我有控制器:
class AdminController {
def springSecurityService
@Secured(['ROLE_ADMIN', 'ROLE_USER'])
def index() {
render "test";
}
以及 table 中具有角色 ROLE_ADMIN 的用户:
但是,当我使用时:
springSecurityService.getPrincipal().getAuthorities()
只有一个角色:ROLE_NO_ROLES
为什么?
def loggedInUser = springSecurityService.currentUser; returns 正确的用户。
配置:
...
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"
谢谢。
spring 安全性有一个默认的 UserDetailsService,它将角色分配给用户。
你可以调试它看看哪里出了问题。
或者您创建自己的:
https://grails-plugins.github.io/grails-spring-security-core/guide/userDetailsService.html
HTH
我有控制器:
class AdminController {
def springSecurityService
@Secured(['ROLE_ADMIN', 'ROLE_USER'])
def index() {
render "test";
}
以及 table 中具有角色 ROLE_ADMIN 的用户:
但是,当我使用时: springSecurityService.getPrincipal().getAuthorities() 只有一个角色:ROLE_NO_ROLES
为什么?
def loggedInUser = springSecurityService.currentUser; returns 正确的用户。
配置: ...
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"
谢谢。
spring 安全性有一个默认的 UserDetailsService,它将角色分配给用户。
你可以调试它看看哪里出了问题。
或者您创建自己的: https://grails-plugins.github.io/grails-spring-security-core/guide/userDetailsService.html
HTH