Tomcat - java.security.AccessControlException: accès refusé (lecture de logging.properties)

Tomcat - java.security.AccessControlException: accès refusé (logging.properties lu)

Problème

Après la mise à niveau vers la version 5.5.25 de Tomcat, il commence à rencontrer de nombreuses erreurs dans la politique de sécurité:

Caused by: java.security.AccessControlException: access denied
      (java.io.FilePermission /usr/share/tomcat5.5-
            webapps/jsp-examples/WEB-INF/classes/logging.properties read)

Solution

L'erreur ci-dessus est causée par le fichier de politique de Tomcat, Tomcat 5.5.25 a fait beaucoup de modifications sur le fichier de politique. Pour résoudre ce problème, vous devez apporter des modifications dans le fichier de stratégie (03catalina.policy)…

Problèmevi 03catalina.policy, le fichier se trouve généralement dans le dossier policy.d

example@example-desktop:/etc/tomcat5.5/policy.d$ vi 03catalina.policy

trouver le modèle suivant:

Fichier: 03catalina.policy

grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
        permission java.util.PropertyPermission "java.util.logging.config.class", "read";
        permission java.util.PropertyPermission "java.util.logging.config.file", "read";
        //...omitted for readability
};

CHANGÉ EN ceci, accordez toute permission.

Fichier: 03catalina.policy

grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
        permission java.security.AllPermission;
};

Terminé, redémarrez Tomcat.

Alternativement…

Vous pouvez activer explicitement l'autorisation sur le chemin de votre application Web.

permission java.io.FilePermission "${catalina.base}${file.separator}
   webapps${file.separator}YOUR_PATH_HERE${file.separator}WEB-INF
   ${file.separator}classes${file.separator}logging.properties", "read";

la commande complète est

Fichier: 03catalina.policy

grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
        permission java.util.PropertyPermission "java.util.logging.config.class", "read";
        permission java.util.PropertyPermission "java.util.logging.config.file", "read";
        //...omitted for readability
        permission java.io.FilePermission "${catalina.base}${file.separator}webapps$
        {file.separator}YOUR_PATH_HERE${file.separator}WEB-INF${file.separator}
        classes${file.separator}logging.properties", "read";
};