`
renwolang521
  • 浏览: 23471 次
  • 性别: Icon_minigender_1
  • 来自: 西安—>北京
社区版块
存档分类
最新评论

AccessControlException java.security.AccessControlException

    博客分类:
  • Java
阅读更多
%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
分享到:
评论

相关推荐

    拒绝访问异常处理(AccessDeniedException)_spring security例子

    拒绝访问异常处理(AccessDeniedException)_spring security例子 博客:blog.csdn.net/dsundsun

    jdk20-security-developer-guide.pdf

    11. **异常处理与安全异常**:在处理安全相关的操作时,可能会抛出特定的`java.security`包下的异常,如`AccessControlException`。开发者需要熟悉这些异常,并适当地捕获和处理。 12. **安全配置**:Java安全可以...

    Java安全性编程源代码

    这一章可能涵盖如何使用`java.security.Permission`类来定义和管理权限,以及`AccessController`和`AccessControlException`在决定代码能否执行特定操作时的作用。 3. **ch8** - 可能讨论“数字签名与加密”。这...

    JAVA 2平台安全技术-结构,API设计和实现

    Java安全相关的API主要分布在java.security包下,包括以下关键类和接口: 1. `java.security.Security`: 提供了安全服务的全局信息和配置,如注册安全服务提供者、获取安全属性等。 2. `java.security.Policy`: ...

    java权限设计

    12. **异常处理**:在尝试执行没有相应权限的操作时,Java会抛出`AccessControlException`。程序应该适当地捕获并处理这个异常,以确保程序的健壮性。 13. **Java安全框架**:包括`java.security`包中的各种类和...

    ant-eclipse-jvm1.2-1.0.jar.zip

    Ant是Apache软件基金会下的一个Java项目,它是一个基于XML的构建工具,常用于自动化Java项目的构建、测试和部署。而Eclipse则是一个流行的开源集成开发环境(IDE),支持多种编程语言,尤其对Java开发者来说,...

    【2018hit计算机学院系统安全java】实验三:完整性访问控制系统设计与实现代码

    在Java中,`java.security.AccessController`和`java.security.Permission`类用于实现这一功能,它们定义了权限对象并检查是否具备执行特定操作的权限。 3. **访问控制列表(ACL)**:这是一个记录了哪些用户或组...

    Security Managers and Permissions

    否则,抛出`java.security.AccessControlException`异常。 在实际应用中,我们可以通过以下方式管理权限: 1. 编写策略文件:使用特定格式编写策略文件,定义权限规则。 2. 配置Security Manager:在应用程序启动时...

    java权限实现实例

    如果当前线程没有足够的权限执行特定操作,会抛出`java.security.AccessControlException`。 5. **策略文件**:Java的默认权限策略通常不足以满足复杂的应用需求,因此可能需要自定义策略文件(如java.policy),...

    setAccessible()方法是否破坏了Java的访问规则

    Exception in thread "main" java.security.AccessControlException: access denied (java.lang.reflect.ReflectPermission suppressAccessChecks) ``` 这表明当前运行环境中的安全策略不允许反射代码忽略访问检查...

    GAEAuth0Callback:重新制作的 Auth0Callback 以与 Google App Engine 配合使用

    引起的 java.security.AccessControlException: access denied ("java.net.NetPermission" "setDefaultAuthenticator")at java.security.AccessControlContext.checkPermission(AccessControlContext.java:375)设置...

    Java_2平台安全技术-结构、api设计和实现

    `java.security.Permission`类是所有权限的基类,而`java.security.Policy`接口则提供了动态管理安全策略的方法。 4. AccessController和AccessControlException:访问控制器负责执行权限检查,如果权限不足,会抛...

    JAVA小程序运行特权的安全获取.zip

    当代码试图执行无权限的操作时,会抛出`java.security.AccessControlException`。开发者需要捕获此异常,并在必要时向用户提供有关为何需要权限以及如何授予权限的说明。 6. **最小权限原则** 为了最大化安全性,...

    java安全

    5. **加密**:Java提供了强大的加密库,包括`java.security`和`javax.crypto`包,支持各种加密算法,如RSA、AES等,用于数据加密和解密,保证信息安全传输。 6. **数字签名与证书**:Java使用数字签名验证代码的...

    利用 Oracle 和 PHP 管理分布式跟踪文件

    * ERROR at line 1: ORA-29532: Java call terminated by uncaught Java exception: java.security.AccessControlException: th (java.io.FilePermission D:OCCdboratrace ack read) has not been granted to ...

    eclipse安卓开发必备工具

    你可以在JVM启动参数增加 -Djava.security.manager 启用安全管理器,如果有该参数,它将检测正在关闭接入检测的代码是否许可了这样做,上述代码执行时会抛出 java.security.AccessControlException异常。 评论对您...

    permission_control_fix.zip

    程序员可以通过`java.security.Permission`类的子类来声明所需的权限。 4. **安全管理器(Security Manager)**:是Java安全模型的核心组件。当你在程序中安装了安全管理器后,所有受限的操作都会触发检查。如果...

    本示例为 实现使用 自定义权限, 需要与ch10_ClientofCustomPermission 工程配合使用

    首先,要实现自定义权限,你需要创建一个继承自`java.security.Permission`的类。这个类通常会包含权限的相关信息,如名称、动作和描述。例如,你可以创建一个名为`CustomPermission`的类: ```java public class ...

Global site tag (gtag.js) - Google Analytics