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)

适用于

另请参阅