use*_*320 4 java security tomcat tomcat6
我正在 Tomcat 6 上使用安全策略。我已成功向整个 Web 应用程序授予权限,但只想向特定类授予某些权限。但是,当我尝试这样做时,我的 doPrivileged 块收到 AccessControlException。
因为我已经成功授予了更通用的代码库,所以我回到了该代码库,并在添加每个附加子目录时进行了测试。通过这种方式,我能够提供的最具体的资助是:
grant codeBase "file:${catalina.home}/webapps/ROOT/WEB-INF/-" { ... }
如果我添加“classes/”,如下所示:
grant codeBase "file:${catalina.home}/webapps/ROOT/WEB-INF/classes/-" { ... }
然后我继续看到 AccessControlException。我试图允许的类位于类目录下。该 web 应用程序被部署为 .war 文件,并由 Tomcat 解压。
我在这里做错了什么?我打算遵循 Tomcat 提供的 catalina.policy 中提供的示例。
使用 Java 默认策略文件格式分配权限的最精细粒度是按代码源(即按 JAR 或按类目录)。作为解决方法,您可以将每个具有明显特权的类拆分到 WEB-INF/lib 中其自己的 JAR 中,并向该 JAR 授予特定权限。
可以创建自定义类加载器来为每个定义类创建唯一的保护域。ProtectionDomain 可以静态授予每类权限,也可以创建专门的 ProtectionDomain 以允许自定义策略动态授予每类权限。
归档时间: |
|
查看次数: |
1966 次 |
最近记录: |