SecurityPermissionAttribute 类

定义

注意

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

注意

CAS support is not available with Silverlight applications.

允许对要使用声明性安全应用到代码中的 SecurityPermission 执行安全操作。 此类不能被继承。

public ref class SecurityPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[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 SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Obsolete("CAS support is not available with Silverlight applications.")]
public sealed class SecurityPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
[<System.Obsolete("CAS support is not available with Silverlight applications.")>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class SecurityPermissionAttribute
Inherits CodeAccessSecurityAttribute
继承
属性

注解

注意

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

允许的声明的范围取决于 SecurityAction 所使用的范围。

安全属性声明的安全信息存储在属性目标的元数据中,并在运行时由系统访问。 安全属性仅用于声明性安全性。 为了获得强制性安全性,请使用相应的权限类。

使用 SecurityPermissionAttribute 类时,请使用请求的权限 () 执行安全操作。 每个可请求的安全权限(如枚举中 SecurityPermissionFlag 定义)在类中 SecurityPermissionAttribute 都有相应的属性。 例如,若要要求能够访问非托管代码,请使用请求的属性设置遵循 demand 语句,如下所示: SecurityPermissionAttribute(SecurityAction.Demand, UnmanagedCode=true)

备注

枚举与SecurityPermissionAttribute属性之间的SecurityPermissionFlag等效性例外是AllFlags枚举值由Unrestricted继承自SecurityAttribute类) 的属性 (表示。 若要要求所有安全权限,请指定 Unrestricted=true

构造函数

SecurityPermissionAttribute(SecurityAction)

使用指定的 SecurityPermissionAttribute 初始化 SecurityAction 类的新实例。

属性

Action

获取或设置安全性操作。

(继承自 SecurityAttribute)
Assertion

获取或设置一个值,该值指示是否已声明以下要断言的权限:所有此代码的调用方具有此操作的所需权限。

BindingRedirects

获取或设置一个值,该值表示代码是否具有在应用程序配置文件中执行绑定重定向的权限。

ControlAppDomain

获取或设置一个值,该值指示是否声明了操作 AppDomain 的权限。

ControlDomainPolicy

获取或设置一个值,该值指示是否声明改变或操作域安全策略的权限。

ControlEvidence

获取或设置一个值,该值指示是否声明了改变或操作证据的权限。

ControlPolicy

获取或设置一个值,该值指示是否声明了查看和操作安全策略的权限。

ControlPrincipal

获取或设置一个值,该值指示是否声明了操作当前主体的权限。

ControlThread

获取或设置一个值,该值指示是否声明了操作线程的权限。

Execution

获取或设置一个值,该值指示是否声明了执行代码的权限。

Flags

获取或设置构成 SecurityPermission 权限的所有权限标志。

Infrastructure

获取或设置一个值,该值指示代码是否可以插入公共语言运行时基础结构中,例如添加远程上下文接收器、特使接收器和动态接收器。

RemotingConfiguration

获取或设置一个值,该值指示代码是否可以配置远程处理类型和信道。

SerializationFormatter

获取或设置一个值,该值指示代码是否可以使用序列化格式化程序来序列化或反序列化对象。

SkipVerification

获取或设置一个值,该值指示是否声明跳过代码验证的权限。

TypeId

在派生类中实现时,获取此 Attribute 的唯一标识符。

(继承自 Attribute)
UnmanagedCode

获取或设置一个值,该值指示是否声明调用非托管代码的权限。

Unrestricted

获取或设置一个值,该值指示是否声明了对受该特性保护的资源有完全(无限制的)权限。

(继承自 SecurityAttribute)

方法

CreatePermission()

创建并返回一个新的 SecurityPermission

Equals(Object)

返回一个值,该值指示此实例是否与指定的对象相等。

(继承自 Attribute)
GetHashCode()

返回此实例的哈希代码。

(继承自 Attribute)
GetType()

获取当前实例的 Type

(继承自 Object)
IsDefaultAttribute()

在派生类中重写时,指示此实例的值是否是派生类的默认值。

(继承自 Attribute)
Match(Object)

当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。

(继承自 Attribute)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

将一组名称映射为对应的一组调度标识符。

(继承自 Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

检索对象的类型信息,然后可以使用该信息获取接口的类型信息。

(继承自 Attribute)
_Attribute.GetTypeInfoCount(UInt32)

检索对象提供的类型信息接口的数量(0 或 1)。

(继承自 Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

提供对某一对象公开的属性和方法的访问。

(继承自 Attribute)

适用于

另请参阅