繁体   English   中英

配置Spring Security Ldap 3.0与Active Directory LDS一起使用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM