Ошибка LDAP в Tomcat - требуется конфиденциальность TLS - PullRequest
0 голосов
/ 11 мая 2009

Я пытаюсь настроить область в Tomcat для доступа к серверу LDAP с безопасностью TLS. Моя базовая конфигурация 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)

Я испробовал множество различных исправлений, не меняя проблему или сообщение об ошибке. Это включает в себя:

  • изменение протокола в connectionURL на "ldaps"
  • изменение порта в соединенииURL на 636
  • добавление протокола = "TLS" в область
  • перемещение объявления Realm из файла conf / server.xml (в разделе Host или Engine) в файл META-INF / context.xml в веб-приложении
  • добавление ldap.jar на сервер / lib
  • меняется с Tomcat 5.5 на Tomcat 6.0

Каждый из них выдает одно и то же сообщение об ошибке (хотя трассировка стека отличается в некоторых конфигурациях).

Есть идеи?

1 Ответ

1 голос
/ 15 мая 2009

Ответ на самом деле не имеет отношения к вопросу, представленному здесь. Проблема была связана с тем, как было указано Царство.

Область указана в элементе Context, который содержится в файле, расположенном внутри веб-приложения в META-INF / context.xml

Что я не осознавал, так это

  • Tomcat копирует этот файл в файл conf / Catalina / localhost / {webapp} .xml,
  • Если Tomcat предоставит более новую версию файла WAR, он не заменит {webapp} .xml более новой версией

Таким образом, причина того, что одно и то же сообщение об ошибке появлялось каждый раз, была в том, что моя первоначальная копия Царства была неверной, а мои попытки исправить не рассматривались.

На самом деле, спецификация Realm верна, как показано выше. Как только я вычистил упрямый файл, он работал нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...