0

我希望有人能帮助我解决我遇到的一个非常令人沮丧的问题。

目前我正在尝试让 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 做过类似的事情 - 你是如何解决这个问题的?

Applogies 这太模糊了,但这是我必须继续下去的尽可能多的信息。有没有人对要查看的内容或解决方案有任何建议?

感谢所有帮助!

干杯

4

4 回答 4

3

我不确定 LDS 的情况是否会显着不同,但您可以尝试升级到 spring security 3.1,因为它有一个专门的 AD Authenticator。

它不需要经理帐户,因为它尝试使用正在验证的用户名/密码进行绑定。配置也是最小的(不提供 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

于 2011-09-19T19:46:46.580 回答
1

我记得我遇到了同样的问题,解决方案是将值设置manager-dnmanageruser@yourdomain

例如

<ldap-server url="ldap://servner ip/o=JLP,c=UK" manager-dn="morrislgn@example.com" manager-password="manager" />
于 2011-09-17T22:40:49.637 回答
0

感谢您的回答,他们非常有帮助。

还发现您用于 manager-dn 的用户帐户需要添加到 LDS 中的 reader 角色才能允许其搜索。

如果您将用户角色添加到管理员组,您可以连接但不能搜索。

为你的帮助干杯

于 2011-09-20T18:30:05.017 回答
0

这里有点死灵,但对于那些通过 Google 偶然发现的人来说,我发现的关于配置我的 LDAP 连接的最有用的工具是安装Apache Directory Studio LDAP browser。正是通过这个工具,我能够获得足够详细的错误消息来发现我的 LDAP 配置出了什么问题,以及如何纠正它。

于 2013-05-21T15:44:00.677 回答