我有 Controller :
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"
谢谢。
最佳答案
spring Security 有一个默认的 UserDetailsService,它将角色分配给用户。
您可以对其进行调试,看看出了什么问题。
或者您创建自己的: https://grails-plugins.github.io/grails-spring-security-core/guide/userDetailsService.html
HTH
关于java - Grails 2.4.4 spring安全角色不适用于用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30919309/