语言

StrongNameIdentityPermission 类

定义

注意

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

定义强名称的标识权限。 此类不能被继承。

public ref class StrongNameIdentityPermission sealed : 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 StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class StrongNameIdentityPermission : System.Security.CodeAccessPermission
public sealed class StrongNameIdentityPermission : 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}")>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
type StrongNameIdentityPermission = class
    inherit CodeAccessPermission
Public NotInheritable Class StrongNameIdentityPermission
Inherits CodeAccessPermission
继承
StrongNameIdentityPermission
属性

注解

Caution

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

Important

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

在 .NET Framework 版本 1.0 和 1.1 中,标识权限不能具有 Unrestricted 权限状态值。 在 .NET Framework 版本 2.0 及更高版本中,标识权限可以具有任何权限状态值。 这意味着在版本 2.0 及更高版本中,标识权限的行为与实现 IUnrestrictedPermission 接口的权限相同。 也就是说,如果程序集被授予完全信任,则无论程序集的标识如何,对标识的需求始终成功。

使用 StrongNameIdentityPermission 来确认调用代码是否在特定的强名称代码程序集内。 仅当堆栈中的所有程序集都具有满足需求的正确证据时,才对成功的完全要求 StrongNameIdentityPermission 。 仅当直接调用方具有正确的证据时,才要求使用 StrongNameIdentityPermissionAttribute 该属性的链接成功。

强名称标识基于一个名为二进制大型对象的加密密钥(BLOB),该密钥可以选择与特定程序集的名称和版本结合使用。 该密钥定义唯一的命名空间,并提供名称正版的强验证,因为名称的定义必须位于由相应私钥签名的程序集中。

请注意,强名称密钥的有效性不依赖于信任关系,也不依赖于为密钥颁发的任何证书。

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

有关强名称的完整说明,请参阅 StrongName 参考页。 有关强名称程序集的详细信息,请参阅 强名称程序集

StrongNameIdentityPermission 类用于定义访问类型公共成员的强名称要求。 该 StrongNameIdentityPermissionAttribute 属性可用于在程序集级别定义强名称要求。 在 .NET Framework 版本 2.0 及更高版本中,还可以使用 InternalsVisibleToAttribute 属性指定该程序集中的所有非公共类型对另一个程序集可见。 有关详细信息,请参阅 Friend 程序集

构造函数

名称 说明
StrongNameIdentityPermission(PermissionState)
已过时.

用指定的StrongNameIdentityPermission值初始化类的新实例PermissionState

StrongNameIdentityPermission(StrongNamePublicKeyBlob, String, Version)
已过时.

为指定的强名称标识初始化类的新实例 StrongNameIdentityPermission

属性

名称 说明
Name
已过时.

获取或设置强名称标识的简单名称部分。

PublicKey
已过时.

获取或设置定义强名称标识命名空间的公钥 Blob。

Version
已过时.

获取或设置标识的版本号。

方法

名称 说明
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)
已过时.

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

适用于

另请参阅