Partilhar via


SecurityPermissionAttribute Classe

Definição

Cuidado

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

Permite que ações SecurityPermission de segurança sejam aplicadas ao código usando segurança declarativa. Essa classe não pode ser herdada.

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.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
Public NotInheritable Class SecurityPermissionAttribute
Inherits CodeAccessSecurityAttribute
Herança
Atributos

Comentários

Cuidado

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.

O escopo da declaração permitida depende do SecurityAction que é usado.

As informações de segurança declaradas por um atributo de segurança são armazenadas nos metadados do destino do atributo e são acessadas pelo sistema em tempo de execução. Os atributos de segurança são usados apenas para segurança declarativa. Para segurança imperativa, use a classe de permissão correspondente.

Ao usar a SecurityPermissionAttribute classe, siga a ação de segurança com as permissões que estão sendo solicitadas. Cada permissão de segurança que pode ser solicitada, conforme definido na SecurityPermissionFlag enumeração, tem uma propriedade correspondente na SecurityPermissionAttribute classe. Por exemplo, para exigir a capacidade de acessar código não gerenciado, siga a instrução de demanda com a configuração de propriedade que está sendo solicitada, da seguinte maneira: SecurityPermissionAttribute(SecurityAction.Demand, UnmanagedCode=true).

Observação

Uma exceção à equivalência entre a SecurityPermissionFlag enumeração e as SecurityPermissionAttribute propriedades é que o valor de AllFlags enumeração é representado pela Unrestricted propriedade (herdada da SecurityAttribute classe). Para exigir todas as permissões de segurança, especifique Unrestricted=true.

Construtores

Nome Description
SecurityPermissionAttribute(SecurityAction)
Obsoleto.

Inicializa uma nova instância da SecurityPermissionAttribute classe com a especificada SecurityAction.

Propriedades

Nome Description
Action
Obsoleto.

Obtém ou define uma ação de segurança.

(Herdado de SecurityAttribute)
Assertion
Obsoleto.

Obtém ou define um valor que indica se a permissão para afirmar que todos os chamadores desse código têm a permissão necessária para a operação é declarada.

BindingRedirects
Obsoleto.

Obtém ou define um valor que indica se o código tem permissão para executar o redirecionamento de associação no arquivo de configuração do aplicativo.

ControlAppDomain
Obsoleto.

Obtém ou define um valor que indica se a permissão para manipular AppDomain é declarada.

ControlDomainPolicy
Obsoleto.

Obtém ou define um valor que indica se a permissão para alterar ou manipular a política de segurança de domínio é declarada.

ControlEvidence
Obsoleto.

Obtém ou define um valor que indica se a permissão para alterar ou manipular evidências é declarada.

ControlPolicy
Obsoleto.

Obtém ou define um valor que indica se a permissão para exibir e manipular a política de segurança é declarada.

ControlPrincipal
Obsoleto.

Obtém ou define um valor que indica se a permissão para manipular a entidade de segurança atual é declarada.

ControlThread
Obsoleto.

Obtém ou define um valor que indica se a permissão para manipular threads é declarada.

Execution
Obsoleto.

Obtém ou define um valor que indica se a permissão para executar código é declarada.

Flags
Obsoleto.

Obtém ou define todos os sinalizadores de permissão que compõem as SecurityPermission permissões.

Infrastructure
Obsoleto.

Obtém ou define um valor que indica se o código pode se conectar à infraestrutura de common language runtime, como adicionar coletores de contexto de comunicação remota, coletores envoy e coletores dinâmicos.

RemotingConfiguration
Obsoleto.

Obtém ou define um valor que indica se o código pode configurar tipos e canais de comunicação remota.

SerializationFormatter
Obsoleto.

Obtém ou define um valor que indica se o código pode usar um formatador de serialização para serializar ou desserializar um objeto.

SkipVerification
Obsoleto.

Obtém ou define um valor que indica se a permissão para ignorar a verificação de código é declarada.

TypeId
Obsoleto.

Quando implementado em uma classe derivada, obtém um identificador exclusivo para esse Attribute.

(Herdado de Attribute)
UnmanagedCode
Obsoleto.

Obtém ou define um valor que indica se a permissão para chamar código não gerenciado é declarada.

Unrestricted
Obsoleto.

Obtém ou define um valor que indica se a permissão completa (irrestrita) para o recurso protegido pelo atributo é declarada.

(Herdado de SecurityAttribute)

Métodos

Nome Description
CreatePermission()
Obsoleto.

Cria e retorna um novo SecurityPermission.

Equals(Object)
Obsoleto.

Retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()
Obsoleto.

Retorna o código hash dessa instância.

(Herdado de Attribute)
GetType()
Obsoleto.

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()
Obsoleto.

Quando substituído em uma classe derivada, indica se o valor dessa instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)
Obsoleto.

Quando substituído em uma classe derivada, retorna um valor que indica se essa instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()
Obsoleto.

Cria uma cópia superficial do Objectatual.

(Herdado de Object)
ToString()
Obsoleto.

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

Nome Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Obsoleto.

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de expedição.

(Herdado de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Obsoleto.

Recupera as informações de tipo de um objeto, que podem ser usadas para obter as informações de tipo de uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Obsoleto.

Retorna o número de interfaces de informações do tipo que um objeto fornece (0 ou 1).

(Herdado de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Obsoleto.

Fornece acesso a propriedades e métodos expostos por um objeto.

(Herdado de Attribute)

Aplica-se a

Confira também