Partilhar via


Segurança declarativa

Sintaxe de segurança declarativa usa atributos para colocar informações de segurança para o metadados de 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 substituir que deseja usar.As solicitações são usadas em aplicativos que visam common linguagem runtime para informar o sistema de segurança do tempo de execução sobre as permissões que seu aplicativo precisa ou não quer.Demandas e as substituições são usadas em bibliotecas para ajudar a proteger recursos de chamadores ou para substituir o comportamento padrão de segurança.

Para usar a segurança declarativa chamadas, você deve inicializar os dados do estado do objeto de permissão para que ele representa o formulário específico de permissão que você precisa.Cada permissão interna tem um atributo que é passado um SecurityAction enumeração para descrever o tipo de operação de segurança que deseja executar. No entanto, as permissões também aceitam seus próprios parâmetros que são exclusivo a elas.Para uma descrição completa dos parâmetros específicos para as permissões, consulte a seção descrevendo interna permissões.

O fragmento de código a seguir mostra a sintaxe declarativa para solicitar que chamadores do seu código têm uma permissão personalizada chamada MyPermission. Esta permissão é uma permissão personalizada hipotética e não existe no .NET estrutura.Neste exemplo, a telefonar declarativa é colocada diretamente antes da definição da classe, especificando que essa permissão seja aplicado ao nível de classe.O atributo é passado um SecurityAction.Demand 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

Conceitos

Sintaxe de segurança

Permissões de segurança

Referência

SecurityAction

Outros recursos

Estendendo metadados usando atributos

Segurança de Acesso de código

Metadados e Componentes Autodescritivas