2017-04-11 123 views
1

我在tomcat中使用Security Manager功能,并且能够使用Catalina.policy文件来管理权限。 尽管其中我得到这个错误日志我的web应用程序Tomcat AccessControlException:访问被拒绝(“java.io.FilePermission”“logs”“read”)

enter image description here

以下是在政策文件中给出的权限

permission java.io.FilePermission "${catalina.base}${file.separator}logs", "read, write"; 
permission java.io.FilePermission "${catalina.base}${file.separator}logs${file.separator}*", "read, write"; 
permission java.util.PropertyPermission "java.util.logging.config.class", "read"; 

CATALINA CODE PERMISSIONS的部分是目前在默认情况下在策略文件中未修改。我创建了一个单独的codeBase部分,其中我保留了我的webapps并添加了上述权限。

这些都是我在logging.properties已经启用了日志文件处理

handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler 

.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler 

2localhost.org.apache.juli.AsyncFileHandler.level = INFO 
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs 
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost. 

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler 

org.apache.jasper.compiler.TldLocationsCache.level = WARNING 

org.apache.jasper.level = WARNING 

我缺少的东西?请指导我。 感谢名单

回答

0

即使这mkyong link解决我的问题,但我认为这是一种破解(我可能是错的太) 是否还好授予所有权限tomcat-juli.jar? 后来我发现这个answer也指向上面的相同链接。

UPDATE: 的错误跟踪是由于过量采伐处理程序登记在logging.properties文件注销它们导致堆栈跟踪消失。 不过,不知道为什么,虽然任职按照链接此

permission java.security.AllPermission; 

相关问题