SecurityAction Enumeração

Definição

Especifica as ações de segurança que podem ser realizadas usando segurança declarativa.

public enum class SecurityAction
[System.Serializable]
public enum SecurityAction
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum SecurityAction
public enum SecurityAction
[<System.Serializable>]
type SecurityAction = 
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityAction = 
type SecurityAction = 
Public Enum SecurityAction
Herança
SecurityAction
Atributos

Campos

Name Valor Description
Demand 2

Todos os chamadores mais acima na pilha de chamadas devem ter recebido a permissão especificada pelo objeto de permissão atual.

Assert 3

O código de chamada pode aceder ao recurso identificado pelo objeto de permissão atual, mesmo que os que estejam mais acima na pilha não tenham recebido permissão para aceder ao recurso (ver Usar o Método Assert).

Deny 4

A capacidade de aceder ao recurso especificado pelo objeto de permissão atual é negada aos chamadores, mesmo que lhes tenha sido concedida permissão para o aceder (ver Usar o Método de Recusa).

PermitOnly 5

Apenas os recursos especificados por este objeto de permissão podem ser acedidos, mesmo que o código tenha recebido permissão para aceder a outros recursos.

LinkDemand 6

O interlocutor imediato deve ter recebido a permissão especificada. Não use no .NET Framework 4. Para confiança total, use SecurityCriticalAttribute em vez disso; para confiança parcial, use Demand.

InheritanceDemand 7

A classe derivada que herda a classe ou que sobrepõe um método deve ter recebido a permissão especificada.

RequestMinimum 8

O pedido das permissões mínimas necessárias para o código funcionar. Esta ação só pode ser usada dentro do âmbito do conjunto.

RequestOptional 9

O pedido de permissões adicionais que são opcionais (não obrigatórias para correr). Este pedido recusa implicitamente todas as outras permissões não especificamente solicitadas. Esta ação só pode ser usada dentro do âmbito do conjunto.

RequestRefuse 10

O pedido de que permissões que possam ser mal utilizadas não será concedido ao código de chamada. Esta ação só pode ser usada dentro do âmbito do conjunto.

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.

A tabela seguinte descreve o tempo em que cada ação de segurança ocorre e os alvos que suporta.

Importante

No .NET Framework 4, o suporte em tempo de execução foi removido para a aplicação dos pedidos de permissões Deneg, RequestMinimum, RequestOptional e RequestRefuse. Estes pedidos não devem ser usados em código baseado no .NET Framework 4 ou posterior. Para mais informações sobre esta e outras alterações, consulte Alterações de Segurança.

Não deve usar LinkDemand no .NET Framework 4. Em vez disso, use o SecurityCriticalAttribute para restringir o uso a aplicações totalmente confiáveis, ou para Demand restringir chamadores parcialmente confiáveis.

Declaração de ação de segurança Tempo de ação Alvos apoiados
LinkDemand (não usar no .NET Framework 4+) Compilação just-in-time Classe, método
InheritanceDemand Tempo de carregamento Classe, método
Demand Tempo de execução Classe, método
Assert Tempo de execução Classe, método
Deny (obsoleto no .NET Framework 4) Tempo de execução Classe, método
PermitOnly Tempo de execução Classe, método
RequestMinimum (obsoleto no .NET Framework 4) Tempo da concessão Assemblagem
RequestOptional (obsoleto no .NET Framework 4) Tempo da concessão Assemblagem
RequestRefuse (obsoleto no .NET Framework 4) Tempo da concessão Assemblagem

Para informações adicionais sobre alvos de atributos, veja Attribute.

Aplica-se a