0

我想通过带有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,注释:为了执行此操作,必须在连接上完成成功的绑定。 , 数据 0, v1db1 ]; 剩余名称 ''"

怎么了?

4

1 回答 1

0

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

于 2013-02-13T11:07:20.010 回答