SecurityPermissionAttribute Classe

Definição

Permite que ações de segurança para SecurityPermission sejam aplicadas ao código usando segurança declarativa. Esta 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.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)]
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>]
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)>]
type SecurityPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class SecurityPermissionAttribute
Inherits CodeAccessSecurityAttribute
Herança
Atributos

Observações

Atenção

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 respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.

O âmbito da declaração aceite depende do SecurityAction que é utilizado.

A informação de segurança declarada por um atributo de segurança é armazenada nos metadados do destino do atributo e é acedida 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.

Quando usar a SecurityPermissionAttribute aula, siga a ação de segurança com as permissões que estão a ser 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 aceder a código não gerido, siga a declaração de exigência com a definição de propriedade que está a ser solicitada, da seguinte forma: SecurityPermissionAttribute(SecurityAction.Demand, UnmanagedCode=true).

Note

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

Construtores

Name Description
SecurityPermissionAttribute(SecurityAction)

Inicializa uma nova instância da SecurityPermissionAttribute classe com o especificado SecurityAction.

Propriedades

Name Description
Action

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

(Herdado de SecurityAttribute)
Assertion

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

BindingRedirects

Recebe ou define um valor que indica se o código tem permissão para realizar redirecionamento de binding no ficheiro de configuração da aplicação.

ControlAppDomain

Recebe ou define um valor que indica se a permissão para manipular AppDomain está declarada.

ControlDomainPolicy

Recebe ou define um valor que indica se está declarada permissão para alterar ou manipular a política de segurança do domínio.

ControlEvidence

Recebe ou define um valor que indica se está declarada permissão para alterar ou manipular provas.

ControlPolicy

Recebe ou define um valor que indica se está declarada permissão para visualizar e manipular a política de segurança.

ControlPrincipal

Recebe ou define um valor que indica se está declarada permissão para manipular o principal atual.

ControlThread

Recebe ou define um valor que indica se está declarada permissão para manipular threads.

Execution

Recebe ou define um valor que indica se a permissão para executar código está declarada.

Flags

Recebe ou define todas as flags de permissões que compõem as SecurityPermission permissões.

Infrastructure

Recebe ou define um valor que indica se o código pode integrar-se na infraestrutura de execução da linguagem comum, como adicionar Remoting Context Sinks, Envoy Sinks e Dynamic Sinks.

RemotingConfiguration

Recebe ou define um valor que indica se o código pode configurar tipos e canais remotos.

SerializationFormatter

Recebe ou define um valor que indica se o código pode usar um formateador de serialização para serializar ou desserializar um objeto.

SkipVerification

Recebe ou define um valor que indica se foi declarada permissão para contornar a verificação do código.

TypeId

Quando implementado numa classe derivada, obtém um identificador único para esta Attribute.

(Herdado de Attribute)
UnmanagedCode

Recebe ou define um valor que indica se está declarada permissão para chamar código não gerido.

Unrestricted

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

(Herdado de SecurityAttribute)

Métodos

Name Description
CreatePermission()

Cria e devolve um novo SecurityPermission.

Equals(Object)

Devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
GetHashCode()

Devolve o código de hash para esta instância.

(Herdado de Attribute)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
IsDefaultAttribute()

Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada.

(Herdado de Attribute)
Match(Object)

Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado.

(Herdado de Attribute)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

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

Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho.

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

Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface.

(Herdado de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

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

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

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

(Herdado de Attribute)

Aplica-se a

Ver também