AccessControlException java.security.AccessControlException

%JAVA_HOME%--皆指代jdk的安装目录

java.policy 文件许可权

Java 2 安全性使用几个策略文件确定每个 Java 程序的已授权许可权。

java.policy 文件是节点上的 Java 虚拟机(JVM)中运行的所有 Java 程序共享的全局缺省策略文件。更改 java.policy 文件对于节点是本地的。自动选取缺省 Java 策略。策略文件中的语法错误将导致应用程序服务器失败。更新的 java.policy 文件应用于本地节点上的所有 JVM 中运行的所有 Java 程序。重新启动程序,以使更新生效。建议不要修改此文件。如果节点上的某些 Java 程序需要特定更改,并且 java.policy 文件需要更新,那么请使用策略工具谨慎修改 java.policy 文件。有关更多信息,请参阅使用 PolicyTool 来编辑策略文件 。

java.policy 文件的缺省许可权

java.policy 文件位于"%JAVA_HOME%\jre\lib\security"路径下。 其中包含缺省的许可权。

如果节点上的一些 Java 程序需要不是 java.policy 文件中定义为缺省值的许可权,那么考虑更新 java.policy 文件。大多数情况下,更新其他策略文件,而不是 java.policy 文件。缺少许可权将导致发生 java.security.AccessControlException 异常。缺少的许可权在异常信息中显示。
引用
java.security.AccessControlException: access denied (java.io.FilePermission
%JAVA_HOME%\jre\lib\ext\xxx.jar read)


当遇到此异常,并且程序确实需要允许的话,在 java.policy 文件中添加许可权。
引用
grant codeBase "file:%JAVA_HOME%\jre\lib\ext\xxx.jar" {
permission java.io.FilePermission "%JAVA_HOME%\jre\lib\ext\xxx.jar","read";
};


常用配置
引用
grant {

//对系统和用户目录“读”的权限
permission java.util.PropertyPermission “user.dir", “read";
permission java.util.PropertyPermission “user.home", “read";
permission java.util.PropertyPermission “java.home", “read";
permission java.util.PropertyPermission “java.class.path", “read";
permission java.util.PropertyPermission “user.name", “read";

//对线程和线程组的操作权限
permission java.lang.RuntimePermission “modifyThread";
permission java.lang.RuntimePermission “modifyThreadGroup";

//操作Socket端口的各种权限
permission java.net.SocketPermission “-", “listen";
permission java.net.SocketPermission “-", “accept";
permission java.net.SocketPermission “-", “connect";
permission java.net.SocketPermission “-", “read";
permission java.net.SocketPermission “-", “write";

//读写文件的权限
permission java.io.FilePermission “-", “read";
permission java.io.FilePermission “-", “write";

//退出系统的权限,例如System.exit(0)
permission java.lang.RuntimePermission “exitVM";
};



本文参考:
1.http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/rsec_javapolicy.html

2.http://www.ehelper.com.cn/blog/post/java-policy.html

你可能感兴趣的:(java,jvm,.net,ext,Security)