2017-04-11 122 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; 

相關問題