Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Segurança declarativa

A sintaxe de segurança declarativa usa os atributos para colocar as informações de segurança nos metadados do seu código. Os atributos podem ser colocados no assembly, na classe ou no nível de membro para indicar o tipo de solicitação, demanda ou substituição que deseja usar. As solicitações são usadas em aplicativos que tenham como alvo o common language runtime para informar o sistema de segurança em tempo de execução sobre as permissões que seu aplicativo precisa ou não deseja. As demandas e substituições são usadas nas bibliotecas para ajudar a proteger os recursos dos chamadores ou para substituir o comportamento de segurança padrão.

Observação Observação

Em .NET Framework 4, houve mudanças importantes para o modelo de segurança e a terminologia do .NET Framework. Para obter mais informações sobre essas alterações, consulte Alterações na segurança do .NET Framework.

Para usar chamadas de segurança declarativas, você deve inicializar os dados do estado do objeto de permissão para que ele represente a forma particular de permissão que você precisa. Cada permissão integrada tem um atributo passado com uma enumeração SecurityAction para descrever o tipo de operação de segurança que você deseja executar. No entanto, as permissões também aceitam seus próprios parâmetros que são exclusivos para eles. Para obter uma descrição completa dos parâmetros específicos para permissões, consulte a seção descrevendo as permissões integradas.

O fragmento de código a seguir mostra a sintaxe declarativa para solicitar que os chamadores de seu código tenham uma permissão personalizada chamada MyPermission. Essa permissão é uma permissão personalizada hipotética, e não existe no .NET Framework. Neste exemplo, a chamada declarativa é colocada diretamente antes da definição de classe, especificando que esta permissão é aplicada ao nível da classe. O atributo é passado para uma estrutura SecurityAction.Demand para especificar que os chamadores devem ter essa permissão para funcionar.

[MyPermission(SecurityAction.Demand, Unrestricted = true)]
public class MyClass
{
   public MyClass()
   {
      //The constructor is protected by the security call.
   }

   public void MyMethod()
   {
      //This method is protected by the security call.
   }

   public void YourMethod()
   {
      //This method is protected by the security call.
   }
}

Contribuições da comunidade

Mostrar: