Bonjour je developpe actuellement une application JEE sur Eclipse WTP en Struts et Hibernate 3. Le serveur utilisé pour le deploiement un serveur Tomcat 5.5. Dans cette application, je gère l'authentification de mes users via un datasourceRealm... Les mots de passe sont cryptés en MD5 via l'ajout de l'attribut digest="MD5" dans mon élement <Realm/>.
J'ai une action de population de la base qui va lire des informations dans des fichiers CSV (users, mots de passe...). Dans ces fichiers, ces mots de passe sont écrits en clair. Je voudrais les stocker en crypté dans ma base. Pour ce faire, j'utilise la méthode ci dessous qui fait appel à une méthode utilitaire d'un jar de Tomcat:
Ce jar est situé dans:
Code : Sélectionner tout - Visualiser dans une fenêtre à part catalina.jar
Voici son code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part %TOMCAT_HOME%\server\lib
Pour que Eclipse ne me lève pas d'erreurs de compilation, j'ai ajouté le catalina.jar (en tant que jar externe) dans le build path de mon application... Jusque là pas de problème. Néanmoins quand je déploie mon application sur le serveur Tomcat (paramétré dans l'onglet serveur d'Eclipse) via "Run on server", j'ai l'exception suivante qui est levée dans l'action de population de ma base:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 private String getDigestedText(String text, String algorithm) { return RealmBase.Digest(text, algorithm); }
Pourtant le jar est bien dans le server tomcat non, pas besoin de l'inclure en tant que librairie tierce???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 2006-02-14 11:00:53,125 [http-80-Processor24] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/].[action] - "Servlet.service()" pour la servlet action a généré une exception java.lang.NoClassDefFoundError: org/apache/catalina/realm/RealmBase at com.toto.website.hibernate.manager.DatabaseManager.getDigestedText(DatabaseManager.java:501)
Si quelqu'un peut m'aider...
Merci d'avance
Partager