2015-06-05 3 views
0

Использования ApacheDS 2.0.0, то уместна часть конфигурации является:Spring-LDAP - Пароль Сравнить Как-Обновление неудачных попытки ввода пароля

dn: ads-pwdId=default,ou=passwordPolicies,ads-interceptorId=authenticationInterceptor,ou=interceptors,ads-directoryServiceId=default,ou=config 
ads-pwdminlength: 5 
ads-pwdinhistory: 5 
ads-pwdid: default 
ads-pwdcheckquality: 1 
ads-pwdlockout: TRUE 
ads-pwdlockoutduration: 0 
ads-pwdvalidator: org.apache.directory.server.core.api.authn.ppolicy.DefaultPasswordValidator 
ads-pwdmaxfailure: 5 
ads-pwdattribute: userPassword 
ads-pwdfailurecountinterval: 30 
entryParentId: 0889249e-fc0d-44ec-9df6-af21e46b3dac 
ads-enabled: TRUE 
objectclass: ads-passwordPolicy 
objectclass: ads-base 
objectclass: top 
entryuuid: 22d39b05-7219-471f-9ca5-a9b12aff7a9e 
ads-pwdgraceauthnlimit: 5 
modifytimestamp: 20150409194653.529Z 
entrycsn: 20150409194653.530000Z#000000#001#000000 
ads-pwdexpirewarning: 600 
modifiersname: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system 

, а затем в Спринге-LDAP 3.2.5/Безопасности, I с помощью следующей конфигурации менеджера аутентификации:

<authentication-manager alias="authenticationManager"> 
    <ldap-authentication-provider 
     user-context-mapper-ref="detailsMapper" 
     user-dn-pattern="uid={0},ou=people" user-search-filter="(uid={0})" 
     group-search-base="ou=groups" group-search-filter="member={0}"> 
     <password-compare /> 
    </ldap-authentication-provider> 
</authentication-manager> 

Я, наверное, неправильно понимают границы вокруг «паролем сравнить», но когда я удалил этот элемент LDAP-казалось, для поддержания «pwdFailureTime» провалы пароля. С элементом «password-compare», который потерян, поэтому учетные записи не блокируются для множественных сбоев пароля.

Любые мысли о том, что мне здесь не хватает?

ответ

2

Когда вы используете password-compare, вы не выполняете привязку к LDAP в качестве пользователя с его паролем, поскольку предполагается использование LDAP, поэтому LDAP никогда не видит неудачную попытку входа в систему.

Вместо этого Spring извлекает пароль из пользовательской записи, действуя как администратор LDAP, и сравнивает сам пароль.

Нельзя использовать эту опцию. Это противоречит намерению дизайна LDAP.

+0

Хорошо, спасибо ... но тогда почему? (Какова его правильная цель?) –

+0

У нее нет правильной цели. Это нехорошо. – EJP

+0

Что ж, это объясняет, почему это сбивает меня с ума .. Спасибо! –