我正在尝试在Tomcat中配置Realm以访问具有TLS安全性的LDAP服务器。我的基本Realm配置如下所示:
<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)
我尝试了各种修补程序,但没有更改问题或错误消息。这包括:
其中每个都会产生相同的错误消息(尽管在某些配置中堆栈跟踪不同)。
有什么想法吗?
答案 0 :(得分:1)
答案实际上与此处发布的问题无关。问题与如何指定领域有关。
Realm是在位于META-INF / context.xml的webapp内的文件中包含的Context元素中指定的
我没有意识到的是那个
因此每次发生相同错误消息的原因是因为我的Realm的初始副本很糟糕,我的尝试修复程序没有被考虑。
实际上,Realm规范是正确的,如上所示。一旦我清除了顽固的文件,它就运行良好。