Share via


Segurança declarativa

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

Observação

No .NET Framework versão 4, houve uma mudança importante para o.NET Framework e terminologia.Para obter mais informações sobre essas alterações, consulte Alterações de segurança na.NET Framework 4.

Para usar a segurança declarativa chamadas, você deve inicializar os dados do estado do objeto de permissão para que ele representa um determinado formulário de permissão que você precisa. Cada permissão interna tem um atributo que é passado uma SecurityAction enumeração 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 de permissões, consulte a seção descrevendo interna permissões.

O fragmento de código a seguir mostra a sintaxe declarativa para solicitar que os chamadores do seu código tenham uma permissão personalizada chamada MyPermission. Esta permissão é uma permissão personalizada hipotética e não existe na.NET Framework. Neste exemplo, a chamada declarativa é colocada antes de definição de classe, especificando que essa permissão seja aplicado no nível de classe. O atributo é passado um SecurityAction estrutura para especificar que os chamadores devem ter essa permissão para executar.

<MyPermission(SecurityAction.Demand, Unrestricted = True)> Public Class MyClass1
   
   Public Sub New()
      'The constructor is protected by the security call.
   End Sub
   
   
   Public Sub MyMethod()
      'This method is protected by the security call.
   End Sub
   
   
   Public Sub YourMethod()
      'This method is protected by the security call.
   End Sub
End Class
[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.
   }
}

Consulte também

Referência

SecurityAction

Conceitos

Estendendo metadados usando atributos

Sintaxe de segurança

Segurança de Acesso de código

Metadados e componentes autodescritivos

Permissões de segurança