gpt4 book ai didi

tomcat - Tomcat 中的 LDAP 错误 - 需要 TLS secret 性

转载 作者:行者123 更新时间:2023-11-28 23:09:11 24 4
gpt4 key购买 nike

我正在尝试在 Tomcat 中配置一个 Realm 以访问具有 TLS 安全性的 LDAP 服务器。我的基本领域配置如下所示:

    <Realm className="org.apache.catalina.realm.JNDIRealm"         debug="99"        connectionURL="ldap://localhost:389/"        userPattern="uid={0},ou=People,dc=nsdl,dc=org" />

我收到这样的错误:

SEVERE: Catalina.start: LifecycleException:  Exception opening directory server connection:      javax.naming.AuthenticationNotSupportedException: [LDAP: error code 13 - TLS confidentiality required]    at org.apache.catalina.realm.JNDIRealm.start(JNDIRealm.java:1697)    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1006)    at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)    at org.apache.catalina.core.StandardService.start(StandardService.java:448)    at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)    at org.apache.catalina.startup.Catalina.start(Catalina.java:552)    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)    at java.lang.reflect.Method.invoke(Unknown Source)    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

我尝试了多种修复方法,但没有改变问题或错误消息。这包括:

  • 将 connectionURL 中的协议(protocol)更改为“ldaps”
  • 将 connectionURL 中的端口更改为 636
  • 向领域添加协议(protocol)="TLS"
  • 将领域声明从 conf/server.xml(在 Host 或 Engine 下)移动到 webapp 中的 META-INF/context.xml
  • 将 ldap.jar 添加到服务器/lib
  • 从 Tomcat 5.5 更改为 Tomcat 6.0

这些中的每一个都会产生相同的错误消息(尽管堆栈跟踪在某些配置中有所不同)。

有什么想法吗?

最佳答案

答案实际上与此处发布的问题无关。问题与领域的指定方式有关。

领域是在 Context 元素中指定的,该元素包含在位于 META-INF/context.xml 的 Web 应用程序内部的文件中

我没想到的是

  • Tomcat 将此文件复制到 conf/Catalina/localhost/{webapp}.xml,
  • 如果将更新版本的 WAR 文件提供给 Tomcat,它不会用更新版本替换 {webapp}.xml

所以每次都出现相同错误消息的原因是因为我的 Realm 初始副本很糟糕,而我尝试的修复没有被考虑。

事实上,如上所示,Realm 规范是正确的。一旦我清除了顽固的文件,它就可以正常工作了。

关于tomcat - Tomcat 中的 LDAP 错误 - 需要 TLS secret 性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/848821/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com