您的位置: 旅游网 > 情感

NET 框架中的安全性概述权限

发布时间:2019-09-13 20:21:00

权限代表可执行受保护操作的授权。这些操作通常包括对特定资源的访问。通常,这些操作包括访问资源(如文件)、注册表、网络、用户界面或执行环境等。不涉及实际资源的权限的一个示例是跳过验证功能。

注 System.Security.Permissions.SecurityPermission 类包含一个标志,该标志决定是否允许权限实例的接收者跳过验证。SecurityPermission 类包含了其他类似的权限标志,它们涵盖了核心的运行库技术,如果未正确使用这些技术(如控制为在特定应用程序域中运行的程序集提供的证据的能力),就可能公开安全漏洞。核心运行库技术是由请求调用方来保护的,以使得必需的 SecurityPermission 类设置合适的权限标志。

权限的基本抽象是 IPermission 接口,它要求特定的权限类型实现一组标准的权限操作,如返回与具有相同权限类型的其他权限实例的联合或子集。

可以将权限整理到一个权限集中,该权限集代表对各种资源的访问权限的一种声明。System.Security.PermissionSet 类代表权限的集合。这个类的方法包括 Intersect 和 Union。这些方法采用另一个 PermissionSet 作为参数,并提供了一个 PermissionSet,该 PermissionSet 要么是这两个集合中所有权限的联合,要么是这两个集合中所有权限的交集。(运行库中的权限集合是以一个简单的、未排序的集合表示的。)有了这些工具,安全系统就可以使用权限集,而不必理解每种权限类型的语义了。这使得开发人员可以扩展权限的层次结构,而无需修改安全引挚的功能。

注 每种权限类型都必须派生自 IPermission 接口,该接口要求任何权限类型实现标准的权限操作,如联合、交集、子集和请求方法。这些权限类型不用实现特定于它们所包含的权限状态类型的语义。例如,与一个包含文件名的权限相交所产生的结果,就不同于与一个包含简单布尔值状态的权限相交所产生的结果。当权限集 A 与权限集 B 相交时,如果 A 和 B 包含相同权限类型 X 的不同实例,那么权限集类 A 就会调用 X 实例上的交集方法,而不必知道有关 X 语义的任何内容。

根据在程序集加载时提供给安全系统的证据,安全系统将授予一个权限集,该权限集代表访问各种受保护资源的权限。相反,资源是由权限请求来保护的,该请求会触发一个安全检查,以查看是否将一个特定的权限授予了该资源的所有调用方;如果请求失败,就会引发一个异常。(有一个称为链接请求的特定安全检查,它只检查直接调用方,但通常会检查调用方的整个调用堆栈。)

查看本文来源

孩子上火吃什么药
丁桂薏芽健脾吃多久
糖尿病胃轻瘫消化不好的原因
怎样调理小孩脾胃虚弱
猜你会喜欢的
猜你会喜欢的