SecurityPermission 类值得特别注意,因为它表示代码执行特权操作的权限,包括断言代码访问权限、调用非托管代码、使用反射、控制策略和证据等等。 SecurityPermission 类确定的准确权限是由其 Flags 属性确定的,后者必须设置为 SecurityPermissionFlags 枚举类型(例如,SecurityPermissionFlags.UnmanagedCode )定义的枚举值之一。
小结
本单元通过比较用户安全性和代码安全性,以及探讨安全性命名空间,向您介绍了 .NET Framework 安全性的全貌。.NET Framework 分别将这两种安全性类型称为基于角色的安全性和代码访问安全性。两种形式的安全性都位于 Windows 安全性的顶层。
基于角色的安全性关心的是对用户访问应用程序管理的资源(例如 Web 页)和操作(例如业务和数据访问逻辑)进行访问。代码访问安全性关心的是约束特权代码,准确控制哪些代码能够访问资源并执行其他特权操作。对于 Web 应用程序而言,这是一种强大的附加安全性机制,因为它限制了攻击者的所作所为,即使攻击者会想方设法对 Web 应用程序进程产生威胁。对于提供应用程序独立性而言,这也是一种极为强大的功能。对于宿主公司或者任何在同一个 Web 服务器上宿主多个 Web 应用程序的单位来说,尤其如此。
其他资源
有关更多信息,参阅下列资源: