在开启Java2 security时,在服务器端访问文件,抛出AccessControlException
情形大致是这样的,两个jar包a.jar和b.jar都放在map.ear这个应用中。现在a.jar中有个class A要访问b.jar中的文件f。Java2 security被打开,即限制访问文件资源做法是:
1.在policy文件中添加权限:
Grant codeBase file:a.jar
{
Permission Java.io.FilePermission b.jar,“read”;
}
2.然后在class A中用AccessController.doPrivileged(new xxxAction()......给代码授权
但是运行时,还是会抛出java.security.AccessControlException: Access denied (java.io.FilePermission b.jar read)
猜测是在policy中权限没有分配到位,但是不知道该怎么给jar中的class分配去访问jar中的文件的权限
--------------------编程问答-------------------- 进was控制台,安全性->安全管理、应用程序和基础结构,去掉“使用 Java 2 安全性来限制应用程序访问本地资源 ”前台的勾,保存,重启服务器 --------------------编程问答--------------------
补充:企业软件 , WebSphere