SecurityAction Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
Code Access Security is not supported or honored by the runtime.
Especifica as ações de segurança que podem ser executadas usando a segurança declarativa.
public enum class SecurityAction
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum SecurityAction
public enum SecurityAction
[System.Serializable]
public enum SecurityAction
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum SecurityAction
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SecurityAction =
type SecurityAction =
[<System.Serializable>]
type SecurityAction =
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityAction =
Public Enum SecurityAction
- Herança
- Atributos
Campos
| Nome | Valor | Description |
|---|---|---|
| Demand | 2 | Todos os chamadores mais altos 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 acessar o recurso identificado pelo objeto de permissão atual, mesmo que os chamadores mais altos na pilha não tenham recebido permissão para acessar o recurso (consulte Usando o Método Assert). |
| Deny | 4 | A capacidade de acessar o recurso especificado pelo objeto de permissão atual é negada aos chamadores, mesmo que tenham recebido permissão para acessá-lo. |
| PermitOnly | 5 | Somente os recursos especificados por esse objeto de permissão podem ser acessados, mesmo que o código tenha recebido permissão para acessar outros recursos. |
| LinkDemand | 6 | É necessário que o chamador imediato tenha 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 substitui um método é necessária para ter recebido a permissão especificada. |
| RequestMinimum | 8 | A solicitação das permissões mínimas necessárias para a execução do código. Essa ação só pode ser usada no escopo do assembly. |
| RequestOptional | 9 | A solicitação de permissões adicionais que são opcionais (não necessárias para execução). Essa solicitação recusa implicitamente todas as outras permissões não solicitadas especificamente. Essa ação só pode ser usada no escopo do assembly. |
| RequestRefuse | 10 | A solicitação de que as permissões que podem ser mal utilizadas não serão concedidas ao código de chamada. Essa ação só pode ser usada no escopo do assembly. |
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.
A tabela a seguir descreve o tempo em que cada ação de segurança ocorre e os destinos aos quais ela dá suporte.
Importante
No .NET Framework 4, o suporte a runtime foi removido para impor as solicitações de permissão Deny, RequestMinimum, RequestOptional e RequestRefuse. Essas solicitações não devem ser usadas no código baseado no .NET Framework 4 ou posterior. Para obter mais informações sobre essa e outras alterações, consulte Alterações de Segurança.
Você não deve usar LinkDemand no .NET Framework 4. Em vez disso, use o para restringir o SecurityCriticalAttribute uso a aplicativos totalmente confiáveis ou use Demand para restringir chamadores parcialmente confiáveis.
| Declaração de ação de segurança | Hora da ação | Destinos com suporte |
|---|---|---|
LinkDemand (não use 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 de concessão | Assembléia |
RequestOptional (obsoleto no .NET Framework 4) |
Tempo de concessão | Assembléia |
RequestRefuse (obsoleto no .NET Framework 4) |
Tempo de concessão | Assembléia |
Para obter informações adicionais sobre destinos de atributo, consulte Attribute.