2011-09-15 66 views
0

我希望有人能幫我解決我真正令人沮喪的問題。配置Spring Security Ldap 3.0以使用Active Directory LDS

目前我正在試圖讓Spring Security 3.0 Web App對AD LDS實例進行身份驗證,但我一直收到此錯誤「Bad Credentials」。不幸的是,我現在還沒有更多的事情要做。

下面是正在使用的安全配置的副本:

<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做過這樣的事情 - 你是如何解決這個問題的?

這是非常模糊的Applogies,但這是儘可能多的信息,因爲我必須繼續。有沒有人有任何建議要看或解決方案?

感謝所有幫助!

乾杯

回答

1

我記得我有同樣的問題,遇到和解決辦法是的manager-dn 值設置爲[email protected]

例如

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

我不知道,如果事情將是LDS顯著不同,但你可以嘗試升級到Spring Security的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)和服務器= LDAP:// IP

0

感謝您的回答,他們非常有幫助。

還發現您正在用於manager-dn的用戶帳戶需要添加到LDS中的閱讀器角色以允許其進行搜索。

如果將用戶角色添加到管理員組,您可以連接但不搜索。

乾杯您的幫助

0

輕微巫術這裏,但對於那些誰通過谷歌,最有用的工具,我就發現我的配置LDAP連接是安裝Apache Directory Studio LDAP browser跨越此絆倒。通過這個工具,我可以獲得詳細的錯誤消息,以發現我的LDAP配置有什麼問題,以及如何糾正它。

相關問題