Настройка Spring Security Ldap 3.0 для работы с Active Directory LDS - PullRequest
0 голосов
/ 16 сентября 2011

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

В настоящее время я пытаюсь заставить Spring Security 3.0 Web App аутентифицироваться с экземпляром 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 менеджера копируется непосредственно из AD LDS - я не предоставил достаточно информации?Или пароль должен быть зашифрован \ хеширован?

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

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

С благодарностью получаем любую помощь!

Приветствия

Mo

Ответы [ 4 ]

3 голосов
/ 19 сентября 2011

Я не уверен, что для LDS все будет по-другому, но вы можете попробовать перейти на Spring Security 3.1, поскольку он имеет специальный Authenticator для 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

1 голос
/ 18 сентября 2011

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

например,

<ldap-server url="ldap://servner ip/o=JLP,c=UK" manager-dn="morrislgn@example.com" manager-password="manager" />
0 голосов
/ 21 мая 2013

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

0 голосов
/ 20 сентября 2011

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

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

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

Приветствует вашу помощь

...