java - 使用 apache tomcat 7 进行 LDAP(JNDI 领域)身份验证

标签 java tomcat authentication

我们正在尝试使用下面的 LDAP 设置来实现 tomcat 身份验证,尝试使用以下代码配置 server.xml

<Host ....      
<Realm   className="org.apache.catalina.realm.JNDIRealm" debug="99"
         connectionName="cn=ApacheDS,dc=example,dc=com"
         connectionPassword="secret"
         connectionURL="ldap://localhost:10389"
         roleBase="dc=example,dc=com,dc=ActiveMQ"
         roleName="cn"
         roleSearch="(uniqueMember={0})"
         roleSubtree="false"
         userPassword="userPassword"
         userPattern="cn={0},dc=example,dc=com"
    />
</Host>

在 web.xml 中我配置了组

<security-constraint>
        <web-resource-collection>
            <web-resource-name>Entry points</web-resource-name>
            <url-pattern>/faces/analyze/*</url-pattern>
            <url-pattern>/faces/common/*</url-pattern>
            <url-pattern>/faces/compose/*</url-pattern>
            <url-pattern>/faces/content/*</url-pattern>
            <url-pattern>/faces/custom/*</url-pattern>
            <url-pattern>/faces/explore/*</url-pattern>
            <url-pattern>/faces/home/*</url-pattern>
            <url-pattern>/faces/layouts/*</url-pattern>
            <url-pattern>/faces/partials/*</url-pattern>
        <auth-constraint>
            <role-name>rtsAdministrator</role-name>
        </auth-constraint>
</security-constraint>

在 ldap 中,我们正在使用分区 dc=example,dc=com 和连接名称 ApacheDS,在分区下我在 下创建了 ou=ActiveMQ oU=GroupoU=User 在此我们有用户,但是当我合并此更改时,我在 ApacheDS(LDAP 服务器)控制台中收到以下错误。

我在 LDAP 服务器控制台中收到以下错误

[15:25:15] ERROR [org.apache.directory.server.core.authn.AbstractAuthenticator] - 
ERR_6 Authentication error : Attempt to lookup non-existant entry: cn=ApacheDS,dc=example,dc=com 

谁能告诉我可能是什么问题。如果您需要更多信息,请告诉我。

如果有人能为我的问题提供解决方案,那将会很有帮助。

最佳答案

您的 LDAP DIT 未 Root 于 dc=example,dc=com,如果 Root 于此,那将令人惊讶。这只是一个示例配置。找出它的真正根源并改用它。

你还有dc=example,dc=com,dc=ActiveMQ,证明了这一点。这也一定是错误的,但出于不同的原因:它出了问题。您不会将 dc=ActiveMQ 作为 DN 中的最根元素。

听起来你有一些调查要做。

关于java - 使用 apache tomcat 7 进行 LDAP(JNDI 领域)身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31919906/

相关文章:

java - Tomcat 6 中未部署 Soap Web 服务

javascript - 错误 : ClerkJS: Invalid frontendAPI option. 转到实例主页 https ://dashboard. clerk.dev 并获取您的 Frontend API 值

ios - iOS App Engine身份验证Cookie

java - 使用java代码读取excel表格

java - 外部库中的 jar 但无法在代码中导入

java - 是否有与 Eclipse "type filters"功能等效的 IntelliJ Idea

java - 重启后 BroadcastReceiver 不工作

eclipse - Tomcat 已启动,但 Eclipse 似乎无法检测到

java - 启动java应用程序的问题

mysql pam插件错误