java安全框架下载文件_java安全框架之Permission学习笔记

一、permission和security policy

java.security.Permission代表一个访问系统资源的系统资源的权限,perm = new java.io.FilePermission("/tmp/abc", "read"):这是一      个文件权限,是一个对“/tmp/abc”文件的“read”权限。

public abstract boolean implies(Permission permission):一个实现这个方法的子类a的实例 a.implies(b):用来判断是否有权限a,就     有权限b。有两个类关联了Permission类: 抽象类 java.security.PermissionCollection、final类 java.security.Permissions,前者代表       一个种类的权限集合(如:FilePermission),后者代表这种各样的权限,维护一个保存PermissionCollection的map

java.security.UnresolvedPermission:安全策略的内部状态由与每个代码源关联的权限对象表示。然而,可能在初始化策略时,实现特     权限的代码还没有加载和定义,例如,引用的权限类可能位于稍后将加载的JAR文件中,UnresolvedPermission就是用来保存这               些,“未解析”的权限。进行权限检查时,之前没有解析的权限,这时已经解析了。也就是说,一个适当类型的新的对象已经初始化          了,这时就用这个新的对象替换已删除的UnresolvedPermission

java.io.FilePermission

file

directory (same as directory/)

directory/file

directory/* (all files in this directory)

* (all files in the current directory)

directory/- (all files in the file system under this directory)

- (all files in the file system under the current directory)

"<>" (all files in the file system) ,在linux系统中代表all files under the root directory

implies判断:是否拥有一个权限,就意味着拥有另一个权限FilePermission("/-", "read,execute") implies FilePermission("/home/gong/public_html/index.html", "read")

FilePermission p = new FilePermission("c:\\temp\\foo", "read"),使用转义字符代表正确的字符串,比如:“\n”代表换行

解析出的路径是:"c:\temp\foo"。

注意:FilePermission p = new FilePermission("/home/gong/", "read"),只拥有列出"/home/gong/"目录下的所有文件的权限,并没有读的

权限,想读该目录下的文件,还需使用"*"或者"-"。注意:代码自动拥有读写当前目录和子目录下文件的权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值