Java安全管理器SecurityManager

安全管理器是一个允许应用程序实现安全策略的类。SecurityManager类包含了很多名称以单词check开头的方法,Java库中的种种方法在执行某些潜在的敏感操作前可以调用这些方法 。

权限分为以下类别:文件、套接字、网络、安全性、运行时、属性、AWT、反射和可序列化。管理各种权限别的类:

 

  • java.io.FilePermission
  • java.net.SocketPermission
  • java.net.NetPermission
  • java.security.SecurityPermission
  • java.lang.RuntimePermission
  • java.util.PropertyPermission
  • java.awt.AWTPermission
  • java.lang.reflect.ReflectPermission
  • java.io.SerializablePermission

 

除前两个类以外的所有类都是java.security.BasicPermission的子类,而BasicPermission类又是顶级权限类java.security.Permission的抽象子类。

 

而前两个类也是Permission的子类。

 

启动、关闭SecurityManager

1.-Djava.security.manager

这是打开SecurityManager最常见的方式,你可以通过System.getProperty("java.security.manager")检查该系统属性是否被设置。

 

2.通过程序打开

SecurityManager sm=new SecurityManager();

System.setSecurityManager(sm);

如果之后想关闭SecurityManager,我们该怎么办?

SecurityManager sm=System.getSecurityManager();

if(sm!=null){

    System.setSecurityManager(null);

}


Java policy文件

默认加载的策略文件的位置,我们可以从${JDK_HOME}/jre/lib/security目录下的java.security文件中看到:

# The default is to have a single system-wide policy file,

# and a policy file in the user's home directory.

policy.url.1=file:${java.home}/lib/security/java.policy

policy.url.2=file:${user.home}/.java.policy

也可以在启动的进修指定其他位置的策略文件:

-Djava.security.policy=someURL someApp
 

最后欢迎大家访问我的个人网站:1024s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值