Java平台安全权限机制深度解析
1. 权限概述
在Java安全体系中,权限(Permission)起着至关重要的作用。权限用于指定策略允许的资源访问以及在执行安全敏感操作之前运行时所需的权限。权限对象在安全策略中用于表明不同代码组(如不同位置、不同签名者、由不同用户或服务执行的代码)允许进行哪些安全敏感资源访问。有些代码可能被授予某些权限,而其他代码则被授予不同的权限集合。
在执行安全敏感操作的方法中,通常应先构造适当的 Permission 对象,然后通过调用 SecurityManager 的 checkPermission 方法,测试调用栈上的调用者是否被策略授予了指定的权限。
所有权限类都是正向的,即它们代表访问的批准而非拒绝,这种设计选择大大简化了实现并提高了效率。
2. 权限类层次结构
权限类具有特定的层次结构,其根类是抽象类 java.security.Permission ,可根据需要进行子类化以表示对特定资源的访问。例如, FilePermission 是 Permission 的子类,用于表示对文件的访问。以下代码展示了如何构造一个表示对 /tmp/abc 文件进行读取访问的权限:
perm = new java.io.FilePermission("/tmp/abc", "read");
新的权限类可以从
Java安全权限机制详解
超级会员免费看
订阅专栏 解锁全文

937

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



