AccessController用法

来源:互联网 发布:阿里云 飞天八部 加班 编辑:程序博客网 时间:2024/06/07 14:50

AccessController 类用于与访问控制相关的操作和决定

 

确切地说,AccessController 类用于以下三个目的:

  • 基于当前生效的安全策略决定是允许还是拒绝对关键系统资源的访问,

     

  • 将代码标记为享有“特权”,从而影响后续访问决定,以及

     

  • 获取当前调用上下文的“快照”,这样即可相对于已保存的上下文作出其他上下文的访问控制决定

checkPermission 方法确定应该批准还是拒绝由指定权限所指示的访问请求。示例调用如下所示。在此例中,checkPermission 将确定是否批准对 "/temp" 目录中名为 "testFile" 的文件的“读”访问。

FilePermission perm = new FilePermission("/temp/testFile", "read");    AccessController.checkPermission(perm);  

如果允许请求的访问,则 checkPermission 正常返回。如果拒绝,则抛出 AccessControlException。如果请求的权限类型不正确或包含无效值,则也会抛出 AccessControlException。只要可能,就给出此类信息。 假定当前线程按照调用方 1 到调用方 2 直到调用方 m 的顺序遍历了 m 个调用方。那么调用方 m 调用checkPermission 方法。checkPermission 方法基于以下算法确定批准还是拒绝访问:

原创粉丝点击