[logback-user] SecurityManager issue using logback

Andrew Bourgeois andrew.bourgeois at hotmail.com
Sat Nov 5 12:00:01 CET 2011


Hello

Ceki said my “bug” report isn’t actually a bug, but didn’t have the tell to tell me what’s wrong:
http://jira.qos.ch/browse/LBCLASSIC-304 

Can anyone here help? In short:

package be.removed.fun.removed; 

import java.rmi.RMISecurityManager; 
import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 

public class TestMain { 

    private static final Logger logger = LoggerFactory.getLogger(TestMain.class); 

    public static void main(String[] args) throws Exception { 
        System.setProperty("java.security.policy", "./src/main/config/java.policy"); 
        logger.debug("Policy location: {}", System.getProperty("java.security.policy")); 
        if (System.getSecurityManager() == null) { 
            System.setSecurityManager(new RMISecurityManager()); 
        } 
        System.setProperty("java.security.policy", "./src/main/config/java.policy"); 
    } 
} 

...runs fine using log4j:

<dependency> 
            <groupId>org.slf4j</groupId> 
            <artifactId>slf4j-api</artifactId> 
            <version>1.6.0</version> 
        </dependency> 
        <dependency> 
            <groupId>log4j</groupId> 
            <artifactId>log4j</artifactId> 
            <version>1.2.16</version> 
        </dependency> 
        <dependency> 
            <groupId>org.slf4j</groupId> 
            <artifactId>slf4j-log4j12</artifactId> 
            <version>1.6.0</version> 
        </dependency> 

...and gives an exception when switching to logback:

<dependency> 
            <groupId>org.slf4j</groupId> 
            <artifactId>slf4j-api</artifactId> 
            <version>1.6.0</version> 
        </dependency> 
        <dependency> 
            <groupId>ch.qos.logback</groupId> 
            <artifactId>logback-core</artifactId> 
            <version>1.0.0</version> 
        </dependency> 
        <dependency> 
            <groupId>ch.qos.logback</groupId> 
            <artifactId>logback-classic</artifactId> 
            <version>1.0.0</version> 
        </dependency>  

The exception is thrown at the last line of the main:

01:05:37.702 [main] DEBUG be.removed.fun.removed.TestMain - Policy location: ./src/main/config/java.policy 
Exception in thread "main" java.security.AccessControlException: access denied (java.util.PropertyPermission java.security.policy write) 
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323) 
at java.security.AccessController.checkPermission(AccessController.java:546) 
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 
at java.lang.System.setProperty(System.java:725) 
at be.removed.fun.removed.TestMain.main(TestMain.java:18)  

The policy file is:

grant { 
    permission java.security.AllPermission; 
};  

The problem gets fixed if I put this file into:
$JAVA_HOME/jre/lib/security 

Thank you for your time!

Best regards

Andrew Bourgeois
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.qos.ch/pipermail/logback-user/attachments/20111105/72d19591/attachment-0001.html>


More information about the Logback-user mailing list