Настройка Spring Security Ldap 3.0 для работы с Active Directory LDS

Я надеюсь, что кто-то поможет мне с действительно разочаровывающей проблемой, которая у меня есть.

В настоящее время я пытаюсь заставить веб-приложение Spring Security 3.0 аутентифицироваться с помощью экземпляра AD LDS, но я продолжаю получать эту ошибку «Неверные учетные данные». К сожалению, в данный момент мне больше нечего делать.

Ниже приведена копия используемой конфигурации безопасности:

<authentication-manager alias="ldapAuthenicationManager"> 
    <ldap-authentication-provider user-dn-pattern="CN={0},OU=Users,O=JLP,C=UK" >
</ldap-authentication-provider> </authentication-manager>

<ldap-server url="ldap://servner ip/o=JLP,c=UK" manager-dn="CN=Manager,O=JLP,C=UK" manager-password="manager" />

Я подозреваю, что проблема вызвана тегом <Ldap server> и неправильной настройкой dn-менеджера. DN менеджера копируется непосредственно из AD LDS. Разве я не предоставил достаточно информации? Или пароль нужно шифровать\хешировать?

Кто-нибудь делал что-нибудь подобное с LDS - как вы решили эту проблему?

Извините, что это так расплывчато, но это все, что мне нужно, чтобы продолжить. Есть ли у кого-нибудь какие-либо предложения о том, на что нужно обратить внимание, или на решения?

Всякая помощь принимается с благодарностью!

Ваше здоровье

Mo


person Morrislgn    schedule 15.09.2011    source источник


Ответы (4)


Я не уверен, что для LDS все будет значительно иначе, но вы можете попробовать обновиться до весенней безопасности 3.1, поскольку у нее есть специализированный аутентификатор для AD.

Ему не нужна учетная запись менеджера, поскольку он пытается выполнить привязку, используя аутентифицируемое имя пользователя/пароль. Также минимальная конфигурация (без предоставления DN, шаблона поиска и т. д.)

<security:authentication-manager>
    <security:authentication-provider ref="activeDirectoryAuthenticationProvider"/>
</security:authentication-manager>

<bean id="activeDirectoryAuthenticationProvider"
        class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
    <constructor-arg value="${activedirectory.domain}" />
    <constructor-arg value="${activedirectory.server}" />
    <property name="convertSubErrorCodesToExceptions" value="true"/>
</bean>

где domain = example.com (из вашего примера jlp.uk) и server = ldap://ip

person kdabir    schedule 19.09.2011

Я помню, что столкнулся с той же проблемой, и решение состояло в том, чтобы установить значение manager-dn в manageruser@yourdomain.

e.g.

<ldap-server url="ldap://servner ip/o=JLP,c=UK" manager-dn="[email protected]" manager-password="manager" />
person Maxim Manco    schedule 17.09.2011

Спасибо за ваши ответы, они были очень полезны.

Также обнаружено, что учетная запись пользователя, которую вы используете для менеджера-dn, должна быть добавлена ​​к роли читателя в LDS, чтобы разрешить поиск.

Если вы добавите роль пользователя в группу «Администраторы», вы сможете подключаться, но не искать.

Спасибо за вашу помощь

person Morrislgn    schedule 20.09.2011

Здесь немного некромантии, но для тех, кто наткнулся на это через Google, самый полезный инструмент, который я нашел для настройки моего LDAP-соединения, заключался в установке Браузер LDAP Apache Directory Studio. Именно с помощью этого инструмента я смог получить достаточно подробные сообщения об ошибках, чтобы выяснить, что не так с моей конфигурацией LDAP, и как это исправить.

person cabbagery    schedule 21.05.2013