簡體   English   中英

授予單個班級的許可

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM