Миграция Tomcat - проблема аутентификации - PullRequest
0 голосов
/ 22 марта 2012

Я пытаюсь перейти на Tomcat 7 с Tomcat 6.

Приложение использует проверку подлинности формы, и при входе в систему приложение застревает в / j_security_check как пустая белая страница.

Tomcatпоказывает, что пользователь прошел проверку подлинности и ошибка.

java.lang.NoSuchMethodError: org.apache.catalina.realm.GenericPrincipal.getRealm()Lorg/apache/catalina/Realm;

Не уверен, куда идти.

[EDIT]

файл server.xml на tomcatпо умолчанию используется только сервер.

context.xml в приложении

  <Realm 
    appName="Informer" className="AuthRealm" 
    dbContext="java:comp/env/jdbc/appdb" debug="2" 
    krbFile="C:\\Program Files\\Apache Software Foundation\\Apache Tomcat 7.0.14\\conf\\krb5.conf"
    loginFile="C:\\Program Files\\Apache Software Foundation\\Apache Tomcat 7.0.14\\conf\\jaas.conf"                     
    ndcLdap="ldap://server:389" 
    nedLdap="ldap://server:389" roleClassNames="" 
    useContextClassLoader="true" userClassNames="" />

[[EDIT]]

Я вызываю метод getRealm () для создания новогоGenericPrincipal объект.Похоже, мне просто нужно обновиться до нового конструктора.

[[[EDIT]]]

Две проблемы.Я вызывал getRealm (), и вызов был в конструкторе, который больше не принимал область в качестве параметра.

Поэтому я посмотрел новый конструктор для GenericPrincipal, и все, что мне нужно было сделать, это удалить getRealm () вызов из параметров.

Разрешено.

С уважением,

1 Ответ

1 голос
/ 22 марта 2012

Я не вижу этот класс AuthRealm в документах Tomcat. Я предполагаю, что это пользовательский Realm, который был запрограммирован для Tomcat 6, и теперь API изменился.

Объект org.apache.catalina.realm.GenericPrincipal изменен с версии 6 на версии 7 , и теперь у него нет метода getRealm().

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