Java 安全管理器--SecurityManager
2014-11-17 20:14
169 查看
安全管理器是一个允许应用程序实现安全策略的类。它允许应用程序在执行一个可能不安全或敏感的操作前确定该操作是什么,以及是否是在允许执行该操作的安全上下文中执行它。应用程序可以允许或不允许该操作。
安全管理器通过抛出异常来提供阻止操作完成的机会。如果允许执行该操作,则安全管理器例程只是简单地返回,但如果不允许执行该操作,则抛出一个
获取和设置当前的安全管理器是由
特殊方法
Java 2 SDK v1.2 开始,
创建安全管理器步骤:
(1) 创建一个SecurityManager的子类;
(2) 覆盖或创建一些方法。
创建安全管理器
public class PasswordSecurityManager extends SecurityManager{
private String password;
PasswordSecurityManager(String password) {
super();
this.password = password;
}
public boolean accessOK(String password) {
if(this.password.equals(password)) return true;
else return false;
}
}
利用安全管理器
public static void main(String args[]){
PasswordSecurityManager manager = new PasswordSecurityManager("123456");
if(!manager.accessOK(args[0])) return;
......
}
SecurityManager类包含了很多名称以单词
check开头的方法。Java 库中的各种方法在执行某些潜在的敏感操作前可以调用这些方法。对
checkXXX方法的典型调用如下:
SecurityManager security = System.getSecurityManager(); if (security != null) { security.checkXXX(argument, . . . ); }
安全管理器通过抛出异常来提供阻止操作完成的机会。如果允许执行该操作,则安全管理器例程只是简单地返回,但如果不允许执行该操作,则抛出一个
SecurityException。该约定的唯一例外是
checkTopLevelWindow,它返回
boolean值。
获取和设置当前的安全管理器是由
System类中的
getSecurityManager和
setSecurityManager方法处理的。
特殊方法
checkPermission(java.security.Permission)确定是应该允许还是拒绝由指定权限所指示的访问请求。默认的实现调用AccessController.checkPermission(perm);如果允许访问请求,则安静地返回
checkPermission。如果拒绝访问请求,则抛出
SecurityException。从
Java 2 SDK v1.2 开始,
SecurityManager中其他所有
check方法的默认实现都是调用
SecurityManager.checkPermission方法来确定调用线程是否具有执行所请求操作的权限。
创建安全管理器步骤:
(1) 创建一个SecurityManager的子类;
(2) 覆盖或创建一些方法。
创建安全管理器
public class PasswordSecurityManager extends SecurityManager{
private String password;
PasswordSecurityManager(String password) {
super();
this.password = password;
}
public boolean accessOK(String password) {
if(this.password.equals(password)) return true;
else return false;
}
}
利用安全管理器
public static void main(String args[]){
PasswordSecurityManager manager = new PasswordSecurityManager("123456");
if(!manager.accessOK(args[0])) return;
......
}
相关文章推荐
- Java 安全管理器--SecurityManager
- Spring Java 安全管理器--SecurityManager
- Java安全_使用JavaAPI完成条目的管理
- Java安全管理器——SecurityManager
- Tomcat 6 --- 你很少使用的安全管理SecurityManager
- Java安全管理器——SecurityManager
- Java客户端连接elasticsearch5.5.3实现数据搜索(基于xpack安全管理)
- java 安全管理概念,代码签名和安全设置
- Java安全管理器 SecurityManager
- java安全沙箱(四)之安全管理器及Java API
- Java安全管理器——SecurityManager
- Java中4种安全沙箱机制之安全管理器及Java API
- Java安全管理器——SecurityManager
- Java安全管理器——SecurityManager
- java安全沙箱(四)之安全管理器及Java API
- Java安全管理——策略文件介绍
- Hadoop安全管理-java安全介绍
- 【Java 安全技术探索之路系列:J2SE安全架构】之六:安全管理工具
- Java安全管理器——SecurityManager
- java 安全管理器详解(2)