Executar verificações de segurança declarativa

Declarativas demandas por PrincipalPermission funcionam da mesma forma sistema autônomo declarativas demandas por permissões de acesso ao código. Demandas podem ser colocadas no nível de classe, bem sistema autônomo em métodos individuais, propriedades ou eventos.Se uma demanda declarativa é colocada no nível de classe e membro, a demanda declarativa no membro substitui ou substitui a demanda no nível de classe.

O exemplo de código a seguir mostra uma versão modificada do PrivateInfo método do exemplo da seção anterior. Esta versão usa segurança declarativa.The PrincipalPermissionAttribute Define entidade de segurança de segurança que o thread corrente deve ter para invocar o método. Simplesmente passar SecurityAction.Demand com o nome e a função que você precisa.

      [PrincipalPermissionAttribute(SecurityAction.Demand, Name = "MyUser", Role = "User")]
      public static void PrivateInfo()
      {   
         //Print secret data.
         Console.WriteLine("\n\nYou have access to the private data!");
      }
    Public Shared Sub _
    <PrincipalPermissionAttribute(SecurityAction.Demand, Name := "MyUser", Role := "User")> _
    PrivateInfo()
    
        'Print secret data.
        Console.WriteLine(ControlChars.CrLf + "You have access to the private data!")
    End Sub

Esse método lança uma exceção de segurança se o thread corrente não contém o capital adequado.Se o o usuário insere 1, o PrivateInfo método é chamado e exibe a seguinte mensagem ao console.

You have access to the private data!

Consulte também

Conceitos

Verificações de segurança baseada em função

Referência

PrincipalPermission