SecurityPermissionFlag 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.
Especifica sinalizadores de acesso para o objeto de permissão de segurança.
Essa enumeração dá suporte a uma combinação bit a bit dos valores de 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
| Nome | Valor | Description |
|---|---|---|
| NoFlags | 0 | Sem acesso de segurança. |
| Assertion | 1 | Capacidade de afirmar que todos os chamadores desse código têm a permissão necessária para a operação. |
| UnmanagedCode | 2 | Capacidade de chamar código não gerenciado. Como o código não gerenciado potencialmente permite que outras permissões sejam ignoradas, essa é uma permissão perigosa que só deve ser concedida a código altamente confiável. Ele é usado para aplicativos como chamar código nativo usando PInvoke ou usando interoperabilidade COM. |
| SkipVerification | 4 | Capacidade de ignorar a verificação de código neste assembly. O código não verificável poderá ser executado se essa permissão for concedida. Essa é uma permissão poderosa que deve ser concedida apenas a um código altamente confiável. Esse sinalizador não tem efeito quando usado dinamicamente com modificadores de pilha, como Deny(), Assert()e PermitOnly(). |
| Execution | 8 | Permissão para a execução do código. Sem essa permissão, o código gerenciado não será executado. Esse sinalizador não tem efeito quando usado dinamicamente com modificadores de pilha, como Deny(), Assert()e PermitOnly(). |
| ControlThread | 16 | Capacidade de usar determinadas operações avançadas em threads. |
| ControlEvidence | 32 | Capacidade de fornecer evidências, incluindo a capacidade de alterar as evidências fornecidas pelo common language runtime. Essa é uma permissão poderosa que só deve ser concedida a um código altamente confiável. |
| ControlPolicy | 64 | Capacidade de exibir e modificar a política. Essa é uma permissão poderosa que só deve ser concedida a um 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 a 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 de Comunicação Remota. |
| Infrastructure | 4096 | Permissão para conectar código à infraestrutura de common language runtime, como adicionar coletores de contexto de comunicação remota, coletores envoy e coletores dinâmicos. |
| BindingRedirects | 8192 | Permissão para executar o redirecionamento de associação explícita no arquivo de configuração do aplicativo. Isso inclui o redirecionamento de .NET assemblies que foram unificados, bem como outros assemblies encontrados fora .NET. |
| AllFlags | 16383 | O estado irrestrito da permissão. |
Comentários
Caution
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.
Essa enumeração é usada por SecurityPermission.
Caution
Muitos desses sinalizadores são poderosos e só devem ser concedidos a códigos altamente confiáveis.