2012-03-22 5 views
0

Я пытаюсь перейти на Tomcat 7 из Tomcat 6.Tomcat Миграция - Аутентификация Выпуск

Приложение использует проверку подлинности форм и при входе в приложение застревает в/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() из параметров.

Решено.

С уважением,

+0

Что находится в ваших конфигурационных файлах? – madth3

ответ

1

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

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

+0

да, вы правы. –

+0

просто должен был обновить конструктор, удалив вызов getRealm() –

Смежные вопросы