【发布时间】:2018-12-10 10:07:45
【问题描述】:
在用户使用 JNDIRealm 身份验证登录 Tomcat 期间,我在 Catalina 日志中收到以下错误:
26-Jun-2018 12:08:29.547 严重 [http-nio-8080-exec-7] org.apache.catalina.realm.JNDIRealm.authenticate 执行身份验证的异常 javax.naming.AuthenticationException:[LDAP:错误代码 49 - 80090308:LdapErr:DSID-0C090400,注释:AcceptSecurityContext 错误,数据 52e,v1db1] 在 com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3154) 在 com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3100)
我发现这意味着“错误的用户/密码”,但 LDAP 日志中没有与此登录相关的记录。 我的 server.xml:
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionURL="ldap://me.com:389"
alternateURL="ldap://me.com:389"
connectionName="CN=user-ldap,OU=Services Accounts,DC=me,DC=com"
connectionPassword="removed"
userRoleName="member"
userBase="OU=Groups,DC=me,DC=com"
userPattern="cn={0},cn=Users,DC=me,DC=com"
roleBase="cn=Users,DC=me,DC=com"
roleName="cn"
roleSearch="(member={0})"
roleSubtree="false"
userSubtree="true"
/>
【问题讨论】:
-
您希望发生什么?日志中有什么?
-
现在用户没有通过身份验证 - 系统将他返回到登录窗口。 Catalina 日志位于问题的开头(存在 LDAP 错误)
标签: authentication tomcat ldap jndi