[英]Grant permission to single class
我正在使用Tomcat 6上的安全策略。我已成功授予對整個webapp的權限,但是只想授予特定類的一些權限。 但是,當我嘗試這個時,我的doPrivileged塊會收到AccessControlException。
因為我已成功授予更通用的代碼庫,所以我回到了代碼庫,並在添加每個附加子目錄時進行了測試。 通過這種方式,我能夠完成的最具體的資助是:
grant codeBase“file:$ {catalina.home} / webapps / ROOT / WEB-INF / - ”{...}
如果我添加“classes /”,如:
grant codeBase“file:$ {catalina.home} / webapps / ROOT / WEB-INF / classes / - ”{...}
然后我恢復看到AccessControlException。 我試圖允許的類位於classes目錄下。 webapp部署為.war文件,並由Tomcat解壓縮。
我在這做錯了什么? 我打算按照Tomcat提供的catalina.policy中提供的示例進行操作。
使用Java默認策略文件格式分配權限的最細粒度是每代碼源(即,每個JAR或每個類目錄)。 作為一種變通方法,您可以將每個具有明顯特權的類拆分為WEB-INF / lib中自己的JAR,並為該JAR授予特定權限。
可以使用自定義ClassLoader為每個defineClass創建唯一的ProtectionDomain。 ProtectionDomains可以靜態授予每個類的權限,也可以創建專門的ProtectionDomains以允許自定義策略動態授予每個類的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.