Java 安全机制:访问控制器与类加载器深度解析
1. Java 访问控制机制
1.1 权限授予的单向性
在 Java 中,权限授予是单向的。当编写自定义应用程序时,理解这一点非常重要。这意味着一旦权限被授予,它不会反向影响其他部分的权限设置。
1.2 访问控制上下文(Access Control Contexts)
访问控制器通过检查栈上每个类的保护域来工作。但有时,我们希望访问控制器检查一组不同类的保护域,这时可以使用 AccessControlContext 类( java.security.AccessControlContext )。
1.2.1 AccessControlContext 类的作用
它基于一组保护域构建上下文。 AccessController 类的 getContext() 方法会返回该类的实例,该方法会获取调用时栈上保护域的快照,并将这些域存储到返回的访问上下文对象中。之后可以在后续调用访问控制器时使用这个上下文对象,访问控制器将使用该组保护域进行操作,而不是栈上的保护域。
1.2.2 使用场景
该类在应用程序代码中的使用非常有限,通常在类加载器中使用。因为类加载器在确定是否可以加载新类时使用的权限,应该由创建该类加载器的栈的保护域决定,而不是该类加载器的后续用户。
1.3 受保护对象(Guarded Objects)
权限和访问控制器的概念可以
超级会员免费看
订阅专栏 解锁全文

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



