Java权限基础
2016-01-07 11:39
405 查看
Java权限控制器是什么鬼?
首先需要一个权限文件。
这里使用到一个命令行工具policytool。这个在JDK bin目录下面。
举个例子,以下代码默认是可以运行的
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("user.home"));
}
}
但是我加上严格权限参数则不能运行。
-Djava.security.manager
加上这个之后,就是开启权限机制,就会报错。
Exception in thread "main" java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.home" "read")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294)
at java.lang.System.getProperty(System.java:714)
at permission.Main.main(Main.java:9)
那么怎样才能不报错,怎样才能给这个权限呢?
我使用policytool打开默认的权限文件。我的电脑是位于这个位置。
C:\Program Files\Java\jdk1.8.0_20\jre\lib\security\java.security
我打开之后是这个样子的:
那么现在就加上权限。
再次运行就有了权限了。打印结果:
C:\Users\Administrator。
首先需要一个权限文件。
这里使用到一个命令行工具policytool。这个在JDK bin目录下面。
举个例子,以下代码默认是可以运行的
public class Main {
public static void main(String[] args) {
System.out.println(System.getProperty("user.home"));
}
}
但是我加上严格权限参数则不能运行。
-Djava.security.manager
加上这个之后,就是开启权限机制,就会报错。
Exception in thread "main" java.security.AccessControlException: access denied ("java.util.PropertyPermission" "user.home" "read")
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457)
at java.security.AccessController.checkPermission(AccessController.java:884)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1294)
at java.lang.System.getProperty(System.java:714)
at permission.Main.main(Main.java:9)
那么怎样才能不报错,怎样才能给这个权限呢?
我使用policytool打开默认的权限文件。我的电脑是位于这个位置。
C:\Program Files\Java\jdk1.8.0_20\jre\lib\security\java.security
我打开之后是这个样子的:
那么现在就加上权限。
再次运行就有了权限了。打印结果:
C:\Users\Administrator。
相关文章推荐
- JAVA反射机制之一
- java 类加载器(class loader)深入探讨
- 设计模式-责任链模式(Java)
- 2 Maven-安装和配置
- eclipse相关知识点
- WIN10 Eclipse LUNA的JDK配置
- Spring定时任务的几种实现--推荐spring task
- 搭建struts2环境
- 已有的java web项目如何搞到eclipse中去
- RMI使用小例
- java.lang.OutOfMemoryError: Java heap space 的解决
- java错误和异常
- java 学习笔记(一)
- JAVA 学习笔记(二)
- Java clone() 浅克隆与深度克隆
- 再次复习java正则表达式
- 【Log4j】Java日志记录的5条规则
- java开发前奏
- JavaEE_SSM_SpringMVC 学习指南
- Axis2在Web项目中整合Spring