2012-03-22 11 views
0
私はTomcatの6

は、Tomcatの移行 - 認証の問題

アプリからのTomcat 7に移行しようとしています

は、フォーム認証を使用してアプリにログインしたときに空白のページとして/のj_security_checkで立ち往生。

ユーザーが認証され、エラーが表示されているTomcatが表示されています。

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

ここからどこに行くのかわかりません。

[EDIT]

Tomcatサーバー上のserver.xmlファイルには、単にデフォルトです。アプリケーション内の

の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]]

私は新しいGenericPrincipalオブジェクトを生成するgetRealm()メソッドを呼び出しています。私はちょうど新しいコンストラクタに更新する必要があるように見えます。

2つの問題。私はgetRealm()を呼び出していましたが、コールはコンストラクタにあって、パラメータとしての領域をもう使用しませんでした。

私はGenericPrincipalの新しいコンストラクタを調べました。私がしなければならなかったのは、パラメータからgetRealm()を削除することでした。

解決済み。

よろしく、

+0

設定ファイルには何がありますか? – madth3

答えて

1

私は、TomcatのドキュメントにAuthRealmそのクラスが表示されません。私はTomcat 6に対してプログラムされたカスタムRealmだと思って、今度はAPIが変更されました。

オブジェクトorg.apache.catalina.realm.GenericPrincipalversion 6からversion 7に変更されましたが、現在はgetRealm()メソッドがありません。

+0

はい、あなたは正しいです。 –

+0

は、getRealm()呼び出しを削除してコンストラクタを更新するだけでした –