首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java保险管理器-SecurityManager

2013-11-08 
java安全管理器-SecurityManager当java应用程序启动时,它还没有安全管理器,应用程序可以通过将一个指向jav

java安全管理器-SecurityManager

当java应用程序启动时,它还没有安全管理器,应用程序可以通过将一个指向java.lang.SecurityManager或是其子类的实例传给System.setSecurityManager()来安装一个安全管理器,安全管理器的作用嘛,谁用谁知道,留下个例子代码吧,见代码....

import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;public class MySecurityManager extends SecurityManager {@Overridepublic void checkRead(String file) {if (file.endsWith("Security.txt"))throw new SecurityException("这个你是没有权限读滴...");}/** *  * @param args * @return void */public static void main(String[] args) {// 设置安全管理器System.setSecurityManager(new MySecurityManager());try {// new FileOutputStream("Security.txt");FileInputStream fis = new FileInputStream("Security.txt");System.out.println(fis.read());} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}}
?

输出:

?

Exception in thread "main" java.lang.SecurityException: 这个你是没有权限读滴...    at com.jvm.threee.securitymanager.MySecurityManager.checkRead(MySecurityManager.java:14)    at java.io.FileInputStream.<init>(FileInputStream.java:100)    at java.io.FileInputStream.<init>(FileInputStream.java:66)    at com.jvm.threee.securitymanager.MySecurityManager.main(MySecurityManager.java:27)



可以程序显示的安装安全管理器,同样可以让它自动安装默认的安全管理器(给jvm加上-Djava.security.manager就可以了)
当然还有安全策略文件,这个就不举例了,参考http://blog.csdn.net/neusoftware_20063500/article/details/4200458

热点排行