我想使用带有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];剩下的名字''“
有什么问题?
答案 0 :(得分:0)
检查LDAP客户端是否正在使用LDAPv3。 LDAPv2要求对连接的第一个操作是BIND操作。一般来说,LDAP客户端不应使用LDAPv2,应修改现有代码以不使用LDAPv2。