SecurityPermissionFlag Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Especifica flags de acesso para o objeto de permissão de segurança.
Esta enumeração suporta uma combinação bit-a-bit dos respetivos valores membro.
public enum class SecurityPermissionFlag
[System.Flags]
[System.Serializable]
public enum SecurityPermissionFlag
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum SecurityPermissionFlag
[System.Flags]
public enum SecurityPermissionFlag
[<System.Flags>]
[<System.Serializable>]
type SecurityPermissionFlag =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type SecurityPermissionFlag =
[<System.Flags>]
type SecurityPermissionFlag =
Public Enum SecurityPermissionFlag
- Herança
- Atributos
Campos
| Name | Valor | Description |
|---|---|---|
| NoFlags | 0 | Sem acesso de segurança. |
| Assertion | 1 | Capacidade de afirmar que todos os chamadores deste código têm a permissão necessária para a operação. |
| UnmanagedCode | 2 | Capacidade de chamar código não gerido. Como o código não gerido potencialmente permite que outras permissões sejam contornadas, esta é uma permissão perigosa que só deve ser concedida a código altamente confiável. É usado para aplicações como chamar código nativo usando PInvoke ou usar interoperação COM. |
| SkipVerification | 4 | Capacidade de saltar a verificação do código nesta assembleia. Código não verificável pode ser executado se esta permissão for concedida. Esta é uma permissão poderosa que só deve ser concedida a código altamente confiável. Este flag não tem efeito quando usado dinamicamente com modificadores de pilha como Deny(), Assert(), e PermitOnly(). |
| Execution | 8 | Permissão para o código correr. Sem esta permissão, o código gerido não será executado. Este flag não tem efeito quando usado dinamicamente com modificadores de pilha como Deny(), Assert(), e PermitOnly(). |
| ControlThread | 16 | Capacidade de usar certas operações avançadas em threads. |
| ControlEvidence | 32 | Capacidade de fornecer provas, incluindo a capacidade de alterar as provas fornecidas pelo runtime da linguagem comum. Esta é uma permissão poderosa que só deve ser concedida a código altamente confiável. |
| ControlPolicy | 64 | Capacidade de visualizar e modificar políticas. Esta é uma permissão poderosa que só deve ser concedida a código altamente confiável. |
| SerializationFormatter | 128 | Capacidade de fornecer serviços de serialização. Usado por formatadores de serialização. |
| ControlDomainPolicy | 256 | Capacidade de especificar política de domínio. |
| ControlPrincipal | 512 | Capacidade de manipular o objeto principal. |
| ControlAppDomain | 1024 | Capacidade de criar e manipular um AppDomain. |
| RemotingConfiguration | 2048 | Permissão para configurar tipos e canais remotos. |
| Infrastructure | 4096 | Permissão para ligar código à infraestrutura de runtime da linguagem comum, como adicionar Remoting Context Sinks, Envoy Sinks e Dynamic Sinks. |
| BindingRedirects | 8192 | Permissão para realizar redirecionamento explícito de binding no ficheiro de configuração da aplicação. Isto inclui o redirecionamento de assemblies .NET que foram unificados, bem como de outros assemblies encontrados fora do .NET. |
| AllFlags | 16383 | O estado irrestrito da autorização. |
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.
Esta enumeração é usada por SecurityPermission.
Atenção
Muitas destas bandeiras são poderosas e só devem ser concedidas a código altamente confiável.