2011-09-15 38 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配置有什么问题,以及如何纠正它。

相关问题