Java安全管理器与访问控制器深度解析
1. Java安全管理器概述
Java安全管理器在Java的安全体系中扮演着关键角色,它负责仲裁对操作系统特性(如文件、网络套接字、打印机等)的访问。其目标是根据用户对类的信任程度,为每个类授予相应的访问权限。通常,对于从文件系统加载的受信任类,会给予完全访问权限;而对于从网络加载的不受信任类,则会限制其访问权限。
不过,Java安全管理器常常被误解。Java的不同实现之间并没有标准的安全管理器,而且默认情况下,Java应用程序根本没有安全管理器。即使在流行的支持Java的浏览器中,用户在要求安全管理器实施哪些保护方面也有很大的自由度。
2. 不同版本Java中安全管理器的比较
2.1 受信任和不受信任类的定义变化
不同版本的Java对受信任类的默认定义有显著变化:
- Java 1.0 :从类路径加载的类被视为受信任类,而从类加载器加载的类被视为不受信任类。
- Java 1.1 :规则与Java 1.0相同,但从jar文件加载的类可能带有数字签名,从而获得额外的特权。这些特权通常是全有或全无的,如果信任签署jar文件的实体,那么该代码可以执行任何操作。一些浏览器厂商使用专有API扩展了这种行为。
- Java 2 :只有核心API中的类被视为受信任类。其他类必须被明确授予权限才能执行相关操作。
2.2 安全管理器类的差异
- setSecurityManager()方法
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



