![](/img/trans.png)
[英]Spring Security 3.0 and Active Directory LDAP: DOMAIN\user login
[英]Configuring Spring Security Ldap 3.0 to work with Active Directory LDS
我希望有人能帮助我解决一个真正令人沮丧的问题。
目前,我正在尝试使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>
标记引起的,并且manager-dn配置不正确。 Manager的DN是直接从AD LDS复制的-我没有提供足够的信息吗? 还是密码需要加密\\散列?
有没有人用LDS做过这样的事情-您是如何解决这个问题的?
抱歉,这很模糊,但这是我所要介绍的信息。 是否有人对要看的东西或解决方案有任何建议?
非常感谢所有帮助!
干杯
莫
我不确定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)和server = ldap:// ip
我记得我遇到过同样的问题,解决方案是将manager-dn
的值设置为manageruser@yourdomain
例如
<ldap-server url="ldap://servner ip/o=JLP,c=UK" manager-dn="morrislgn@example.com" manager-password="manager" />
此处略为死灵,但对于那些通过Google偶然发现的问题,我发现有关配置LDAP连接的最有用的工具是安装Apache Directory Studio LDAP浏览器 。 通过此工具,我能够获得足够详细的错误消息,以发现LDAP配置出了什么问题以及如何纠正它。
感谢您的回答,他们非常有帮助。
还发现您需要将用于manager-dn的用户帐户添加到LDS中的读取者角色,以使其能够搜索。
如果将用户角色添加到Administrators组,则可以连接但不能搜索。
助您一臂之力
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.