J'ai une application développée en JAVA sous Tomcat 5 avec XMLRAD version 8 (pas 2005).
Souhaitant mettre en place une politique de sécurité sous Tomcat avec Security Manager, j'ai modifié le fichier catalina.policy (anciennement tomcat.policy) afin d'autoriser entre autre la suppression de fichiers dans mon appli via le code Java.
Depuis que j'ai mis cette politique de sécurité en place, le message suivant apparaît juste après l'essai de chargement de la librairie XMLCLX.dll dans la classe initialisant la servlet (instruction System.load(path+"/Bin/XMLCLX.dll") dans la classe XMLServerServlet.java; ) :
java.security.AccessControlException: access denied (java.lang.RuntimePermission loadLibrary.C:\Program Files\e-delos\Projects\MonProjet\/Bin/XMLCLX.dll)
Il paraît logique d'autoriser le chargement de la dll mais je n'arrive pas à déclarer cette autorisation dans le fichier catalina.policy.
Voici un extrait du fichier catalina.policy (le reste je n'y ai pas touché):
-----------------------------
grant codeBase "http://localhost:8080/MonProjetBin/-" {
permission java.security.AllPermission;
permission java.ioFilePermission "Data/*", "read, write, delete ,execute";
permission java.lang.RuntimePermission "loadLibrary.XMLCLX.dll";
};
-----------------------------
J'ai aussi essayé en mettant le chemin complet de la librairie mais en vain ...
Voyez-vous d'où peux venir et comment résoudre le problème ?
Avez-vous déjà utiliser le Security Manager avec des applis XMLRAD/Java ?
Merci d'avance pour votre aide.
Partager