Не назначается LDAP «defaultRole» Grails Spring Security

#grails #spring-security #ldap

#grails #spring-безопасность #ldap

Вопрос:

Я борюсь с авторизацией LDAP в Grails (аутентификация работает). Это моя конфигурация:

 grails.plugin.springsecurity.ldap.auth.hideUserNotFoundExceptions = false
grails.plugin.springsecurity.ldap.search.filter = 'sAMAccountName={0}'
grails.plugin.springsecurity.ldap.search.searchSubtree = true
grails.plugin.springsecurity.ldap.authorities.ignorePartialResultException = true
grails.plugin.springsecurity.ldap.authorities.defaultRole = 'ROLE_USER'
grails.plugin.springsecurity.ldap.authorities.retrieveDatabaseRoles = true   
grails.plugin.springsecurity.ldap.authorities.retrieveGroupRoles = false    
grails.plugin.springsecurity.ldap.useRememberMe = false
  

Я ожидаю, что пользователю будет назначена роль ‘ROLE_USER’, но все, что я получаю, это:

 DEBUG org.springframework.security.web.context.HttpSessionSecurityContextRepository - Obtained a valid SecurityContext from SPRING_SECURITY_CONTEXT: 'org.springframework.security.core.context.SecurityContextImpl@d66fe506: Authentication: org.springframework.security.authentication.UsernamePasswordAuthenticationToken@d66fe506: Principal: org.springframework.security.ldap.userdetails.LdapUserDetailsImpl@d66d0e48: Dn: cn=testuser,cn=Users,dc=GROUP,dc=LOCAL; Username: testuser; Password: [PROTECTED]; Enabled: true; AccountNonExpired: true; CredentialsNonExpired: true; AccountNonLocked: true; Not granted any authorities; Credentials: [PROTECTED]; Authenticated: true; Details: org.springframework.security.web.authentication.WebAuthenticationDetails@fffd148a: RemoteIpAddress: 127.0.0.1; SessionId: 2BA8D2C334CBDA358EEEAD97F12DD38C; Not granted any authorities'
  

У вас есть какое-нибудь мудрое слово? Что я делаю не так?

Ответ №1:

Просто для записи я узнал, что решение состоит в том, чтобы переключить retrieveGroupRoles на true:

 grails.plugin.springsecurity.ldap.authorities.retrieveGroupRoles = true