SiteIdentityPermission 类

定义

注意

Code Access Security is not supported or honored by the runtime.

为代码所源自的网站定义标识权限。 此类不能被继承。

public ref class SiteIdentityPermission sealed : System::Security::CodeAccessPermission
public sealed class SiteIdentityPermission : System.Security.CodeAccessPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class SiteIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class SiteIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class SiteIdentityPermission : System.Security.CodeAccessPermission
type SiteIdentityPermission = class
    inherit CodeAccessPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SiteIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type SiteIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SiteIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class SiteIdentityPermission
Inherits CodeAccessPermission
继承
SiteIdentityPermission
属性

注解

注意

代码访问安全性 (CAS) 已在所有版本的 .NET Framework 和 .NET 中弃用。 如果使用与 CAS 相关的 API,最新版本的 .NET 不会遵循 CAS 注释,并会生成错误。 开发人员应寻求用于完成安全任务的替代方法。

使用此类,可以确保调用方来自特定网站。 站点标识仅为使用 HTTP、HTTPS 和 FTP 协议的 URL 中的代码定义。 站点是 URL 协议后面的“//”和以下“/”之间的字符串(例如 www.fourthcoffee.com URL 中 http://www.fourthcoffee.com/process/grind.htm存在)。 这不包括端口号。 如果给定 URL 为 http://www.fourthcoffee.com:8000/,则网站为 www.fourthcoffee.com,而不是 www.fourthcoffee.com:8000

站点可以完全匹配,也可以通过点分隔符处的通配符 (“*”) 前缀进行匹配。 例如,站点名称字符串 *.fourthcoffee.com 匹配 fourthcoffee.com 以及 www.fourthcoffee.com。 如果没有通配符,站点名称必须精确匹配。 网站名称字符串 * 将匹配任何站点,但不匹配没有站点证据的代码。

重要

从.NET Framework 4 开始,不使用标识权限。

在 .NET Framework版本 1.0 和 1.1 中,即使调用程序集完全受信任,对标识权限的要求也有效。 也就是说,尽管调用程序集具有完全信任,但如果程序集不符合所需的条件,则对标识权限的要求会失败。 从 .NET Framework 版本 2.0 开始,如果调用程序集具有完全信任,则对标识权限的要求无效。 这可确保所有权限的一致性,避免将标识权限视为特殊情况。

注意

在 .NET Framework 4 之前的 .NET Framework 版本中,可以使用 CodeAccessPermission.Deny 方法防止受信任的代码意外访问系统资源。 Deny 现已过时,对资源的访问现在完全由程序集的已授予权限集决定。 若要限制对文件的访问,必须在沙盒中运行部分受信任的代码,并仅将其权限分配给允许该代码访问的资源。 有关在沙盒中运行应用程序的信息,请参阅 如何:在沙盒中运行部分受信任的代码

注意

在 .NET Framework版本 1.0 和 1.1 中,标识权限不能具有Unrestricted权限状态值。 从 .NET Framework 版本 2.0 开始,标识权限可以具有任何权限状态值。 这意味着在 2.0 及更高版本中,标识权限的行为与实现 IUnrestrictedPermission 接口的权限的行为相同。

构造函数

SiteIdentityPermission(PermissionState)
已过时.

使用指定的 SiteIdentityPermission 初始化 PermissionState 类的新实例。

SiteIdentityPermission(String)
已过时.

初始化 SiteIdentityPermission 类的新实例,以表示指定的站点标识。

属性

Site
已过时.

获取或设置当前站点。

方法

Assert()
已过时.

声明调用代码能够通过调用此方法的代码,访问受权限请求保护的资源,即使未对堆栈中处于较高位置的调用方授予访问该资源的权限。 使用 Assert() 会引起安全问题。

(继承自 CodeAccessPermission)
Copy()
已过时.

创建并返回当前权限的相同副本。

Demand()
已过时.

如果未对调用堆栈中处于较高位置的所有调用方授予当前实例所指定的权限,则在运行时强制 SecurityException

(继承自 CodeAccessPermission)
Deny()
已过时.
已过时.

防止处于调用堆栈较高位置的调用函数使用可以调用此方法来访问当前实例指定资源的代码。

(继承自 CodeAccessPermission)
Equals(Object)
已过时.

确定指定的 CodeAccessPermission 对象是否等于当前的 CodeAccessPermission

(继承自 CodeAccessPermission)
FromXml(SecurityElement)
已过时.

从 XML 编码重新构造具有指定状态的权限。

GetHashCode()
已过时.

获取 CodeAccessPermission 对象的哈希代码,此代码适合在哈希算法和数据结构(例如哈希表)中使用。

(继承自 CodeAccessPermission)
GetType()
已过时.

获取当前实例的 Type

(继承自 Object)
Intersect(IPermission)
已过时.

创建并返回一个权限,该权限是当前权限与指定权限的交集。

IsSubsetOf(IPermission)
已过时.

确定当前权限是否为指定权限的子集。

MemberwiseClone()
已过时.

创建当前 Object 的浅表副本。

(继承自 Object)
PermitOnly()
已过时.

防止处于调用堆栈较高位置的调用函数使用此代码,此代码将调用此方法来访问除当前实例指定的资源以外的所有资源。

(继承自 CodeAccessPermission)
ToString()
已过时.

创建并返回当前权限对象的字符串表示形式。

(继承自 CodeAccessPermission)
ToXml()
已过时.

创建权限及其当前状态的 XML 编码。

Union(IPermission)
已过时.

创建一个权限,该权限是当前权限与指定权限的并集。

适用于

另请参阅