Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用安全管理器加载log4j2需要哪些java权限?_Java_Security_Securitymanager - Fatal编程技术网

使用安全管理器加载log4j2需要哪些java权限?

使用安全管理器加载log4j2需要哪些java权限?,java,security,securitymanager,Java,Security,Securitymanager,我有以下策略文件: grant codeBase "file:./Cookie.jar", Principal javax.security.auth.kerberos.KerberosPrincipal "MyUsr@domain.com" Principal javax.security.auth.kerberos.KerberosPrincipal "OtherUsr@domain.com" { permission java.util.PropertyPermiss

我有以下策略文件:

grant codeBase "file:./Cookie.jar",
Principal javax.security.auth.kerberos.KerberosPrincipal 
    "MyUsr@domain.com" 
Principal javax.security.auth.kerberos.KerberosPrincipal 
    "OtherUsr@domain.com" {
permission java.util.PropertyPermission "java.vm.*", "read,write";
permission java.util.PropertyPermission "java.home", "read";
permission java.util.PropertyPermission "user.home", "read";
permission java.io.FilePermission "foo.txt", "read";
};


grant {
    permission java.util.PropertyPermission "*","read,write";
    permission javax.security.auth.AuthPermission "createLoginContext.Cookie";
    permission java.security."*";

};
无论何时执行:
java-jarcookie.jar
我的程序都按预期工作,加载log4j没有问题

但是,当我执行以下操作以启用安全管理器时(使用上述策略文件):

java-Djava.security.manager-Djava.security.policy==java.policy-jar Cookie.jar-Djava.security.auth.login.config=auth.conf

我最终得到了这个错误:

StatusLogger Log4j2找不到日志记录实现。请加上lo g4j核心到类路径。正在使用SimpleLogger登录到控制台

这与我在类路径上没有log4j时得到的错误相同,但是log4j在类路径上

我已经确定问题是由安全经理引起的。我只能假设我需要向策略文件添加某个权限才能正确加载Log4j2库,但我无法确定需要添加什么权限

有人能告诉我我在这里遗漏了什么,并解释为什么会发生这种情况吗?谢谢

编辑:该死,我不知怎么把它修好了,但不记得到底是怎么修好的。如果我记得,我会在这里更新