2016-06-06 4 views
0

Я пытаюсь интегрировать приложение grails с аутентификацией ldap, используя плагин весны lils lagap. вот мой confingGrails с аутентификацией ldap

grails.plugin.springsecurity.providerNames = ['ldapAuthProvider', 'anonymousAuthenticationProvider'] 
grails.plugin.springsecurity.ldap.context.managerDN = 'CN=acc,DC=two,DC=three' 
grails.plugin.springsecurity.ldap.context.managerPassword = 'correctpassword' 
grails.plugin.springsecurity.ldap.context.server = 'ldaps://server:636' 
grails.plugin.springsecurity.ldap.authorities.ignorePartialResultException = true 
grails.plugin.springsecurity.ldap.search.base = 'OU=one,DC=two,DC=three' 
grails.plugin.springsecurity.ldap.search.filter='sAMAccountName={0}' 
grails.plugin.springsecurity.ldap.search.searchSubtree = true 
grails.plugin.springsecurity.ldap.auth.hideUserNotFoundExceptions = false 
grails.plugin.springsecurity.ldap.authorities.prefix = "ROLE_" 
grails.plugin.springsecurity.ldap.authorities.defaultRole = "ADMIN" 

каждый раз, когда я пытался войти в систему я RECIVED ошибку

pErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1 ]; nested exception is javax.naming.Authentic 
ationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, 
v1db1 ] 

я проверил, и это означает, что учетные данные недействительны, но это еще не так. Затем я проверю, что произойдет, если я изменю correctpassword на inncorect one, и такая же ошибка произойдет, что-то не так с моей конфигурацией? есть ли какой-либо атрибут отсутствует? Мой Логин контроллер по умолчанию контроллер, я использую secured аннотаций для контроллеров с ограниченным доступом

+0

Попробуйте изменить 'search.filter' на что-то вроде grails.plugin.springsecurity.ldap.search.filter = '(& (objectCategory = user) (sAMAccountName = {0})) '' Где objectCategory является правильной категорией из вашего AD – droggo

+0

ok, я буду, но в ldap seraching с фильтром sAMAccountName = name дает правильные результаты – whd

+0

Это не должно меняться, так как это просто добавляет дополнительный фильтр, но он решил то же самое вопрос для нас. Возможно, для просто sAMAccountName нужны скобки или что-то еще. Извините, если это вам не поможет. – droggo

ответ

1

Попробуйте изменить grails.plugin.springsecurity.ldap.search.filter=sAMAccountName={0} к чему-то вроде grails.plugin.springsecurity.ldap.search.filter='(&(objectCategory=user)(sAMAcc‌​ountName={0})) Где ObjectCategory правильна категория от вашего AD

Оно не должно иметь значение, так как это только добавляет дополнительный фильтр, но он решил ту же проблему для нас. Возможно, для этого свойства необходимы скобки или фильтр категорий

Смежные вопросы