控制文件和文件夹的访问权限-FileIOPermission,CodeAccessPermission 类

隐身的权限

在授予权限时,通常有一条隐式的语句也可以赋予其他权限。例如,如果赋予了访问C:\的权限,FileOPerminssion。就有一个也可以访问C:\子目录下面的隐式假设。如下面的代码:

  static void Main(string[] args)
        {

            CodeAccessPermission pa = new FileIOPermission(FileIOPermissionAccess.AllAccess,@"D:\");

            CodeAccessPermission pb = new FileIOPermission(FileIOPermissionAccess.Read, @"D:\tee");

            if(pb.IsSubsetOf(pa))
            {
                Console.WriteLine("pb is a subset of permission");
            }

            Console.ReadKey();


        }

运行结果:

这里写图片描述

下面介绍代码中使用的两个类:FileIOPermission和CodeAccessPermission

FileIOPermission 类

控制文件和文件夹的访问权限。 此类不能被继承。

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述
这里写图片描述

备注

此权限的文件 IO 访问提供的以下四种类型之间是有区别 FileIOPermissionAccess:

  • Read︰ 对文件或访问该文件,例如,其长度或上次修改时间有关的信息的内容的读取访问权限。
  • Write︰ 对文件或更改文件,例如其名称的相关信息的访问权限的内容的写入访问。 此外允许删除和覆盖。
  • Append︰ 可以写入到文件末尾。 不是能读取。
  • PathDiscovery︰ 访问权限的路径本身中的信息。 这有助于保护敏感信息在路径中,如用户名称,以及有关路径中显示的目录结构的信息。 此值不会授予对文件或文件夹路径所表示的访问。

所有这些权限是独立的这意味着对其中一个权限并不意味着对另一种权限。 例如, Write 权限并不意味着权 Read 或 Append。 如果需要多个权限,它们可以组合使用位或运算,如下面的代码示例中所示。 根据规范的绝对路径; 定义文件的权限始终应使用规范的文件路径进行调用。
FileIOPermission 描述受保护的文件和文件夹上的操作。 File 类帮助提供安全地访问文件和文件夹。 创建该文件的句柄时执行的安全访问权限检查。 通过执行操作可以在创建时检查,安全检查的性能影响降至最低。 打开文件发生一次,而可以读取和写入发生多次。 一旦打开此文件,不能进一步执行检查。 如果该对象传递给不受信任调用方,它可能被误用。 例如,文件句柄应不存储在具有较少权限的代码可以访问它们的公用全局静态对象。
FileIOPermissionAccess 指定可以对文件或文件夹执行的操作。 此外,可以使用按位 OR 成复杂实例组合这些操作。
文件夹的访问权限意味着可以对包含的链接,以及访问所有文件和文件夹及其子文件夹中的所有文件的访问。 例如, Read 到 C:\folder1\ 的访问权限意味着 Read 访问 C:\folder1\file1.txt、 C:\folder1\folder2\、 C:\folder1\folder2\file2.txt,等等。

CodeAccessPermission 成员

这里写图片描述

这里写图片描述
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值