StrongNameIdentityPermission 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
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
- 继承
- 属性
注解
注意
代码访问安全性 (CAS) 已在所有版本的 .NET Framework 和 .NET 中弃用。 如果使用与 CAS 相关的 API,最新版本的 .NET 不会遵循 CAS 注释,并会生成错误。 开发人员应寻求用于完成安全任务的替代方法。
重要
从.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 特性指定该程序集中的所有非公共类型对另一个程序集可见。 有关详细信息,请参阅 友元程序集。
构造函数
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) |
已过时.
创建一个权限,该权限是当前权限与指定权限的并集。 |