Spring - ldap身份验证

时间:2013-02-11 14:01:31

标签: java spring ldap

我想使用带有spring security的ldap-server进行身份验证,这是我的security.xml:

<http auto-config="true" use-expressions="true">
    <intercept-url pattern="/index*" access="permitAll" />
    <form-login login-page="/login" default-target-url="/index"
        authentication-success-handler-ref="loginSuccessHandler"
        authentication-failure-handler-ref="loginFailureHandler" />
</http>

<ldap-server id="ldapServer"
    url="ldap://example.net:389/DC=example,DC=net" />
<authentication-manager>
    <ldap-authentication-provider server-ref="ldapServer"
        user-dn-pattern="CN={0}, OU=First,OU=Second,OU=Third>
    </ldap-authentication-provider>
</authentication-manager>

但它抛出异常 - “引起:javax.naming.NamingException:[LDAP:错误代码1 - 000004DC:LdapErr:DSID-0C0906E8,评论:为了执行此操作成功 必须在连接上完成完全绑定。,data 0,v1db1];剩下的名字''“

有什么问题?

1 个答案:

答案 0 :(得分:0)

检查LDAP客户端是否正在使用LDAPv3。 LDAPv2要求对连接的第一个操作是BIND操作。一般来说,LDAP客户端不应使用LDAPv2,应修改现有代码以不使用LDAPv2。