2012-03-22 4 views
0

Je suis en train de migrer vers Tomcat 7 de Tomcat 6.Tomcat Migration - Authentification Problème

L'application utilise l'authentification de formulaire et lors de la connexion dans l'application se coince à/j_security_check comme page blanche.

Tomcat affiche l'utilisateur est authentifié et une erreur.

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

Vous ne savez pas où aller à partir d'ici.

[EDIT]

le fichier server.xml sur le serveur tomcat est juste la valeur par défaut.

context.xml dans l'application

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

J'appelle la méthode getRealm() pour générer un nouvel objet GenericPrincipal. On dirait que j'ai juste besoin de mettre à jour le nouveau constructeur.

[[[EDIT]]]

Deux questions. J'appelais getRealm() et l'appel était dans un constructeur qui ne prenait plus le domaine en paramètre. J'ai donc cherché le nouveau constructeur pour GenericPrincipal et tout ce que je devais faire était de supprimer l'appel getRealm() des paramètres.

Résolu.

Cordialement,

+0

Que contiennent vos fichiers de configuration? – madth3

Répondre

1

je ne vois pas que AuthRealm classe dans la documentation de Tomcat. Je suppose que c'est une coutume Realm qui a été programmée contre Tomcat 6 et maintenant l'API a changé.

L'objet org.apache.catalina.realm.GenericPrincipal changé de version 6 à version 7 et maintenant il n'a pas la méthode getRealm().

+0

oui vous avez raison. –

+0

juste dû mettre à jour le constructeur en supprimant l'appel getRealm() –