Como: Criar um Objeto WindowsPrincipal

Há duas maneiras para criar um WindowsPrincipal objeto, dependendo de código repetidamente deve executar a validação baseada em função ou deve executá-lo apenas uma vez.

Se código repetidamente deve realizar a validação baseada em função, o primeiro dos procedimentos a seguir produz menos sobrecarga.Quando o código precisa fazer apenas uma vez validações baseadas em função, você pode criar um WindowsPrincipal objeto usando o segundo dos procedimentos a seguir.

Para criar um objeto WindowsPrincipal para validação repetida

  1. Chamar o SetPrincipalPolicy método na AppDomain objeto retornado pelo estático AppDomain.CurrentDomain propriedade, passando o método um PrincipalPolicy valor de enumeração que indica qual deve ser a nova diretiva. Há suporte para os valores são NoPrincipal, UnauthenticatedPrincipal, e WindowsPrincipal. O código a seguir demonstra essa telefonar de método.

    AppDomain.CurrentDomain.SetPrincipalPolicy(
        PrincipalPolicy.WindowsPrincipal);
    
    AppDomain.CurrentDomain.SetPrincipalPolicy( _
        PrincipalPolicy.WindowsPrincipal)
    
  2. Com o conjunto de diretivas, usar o estático Thread.CurrentPrincipal propriedade para recuperar o objeto que encapsula o usuário Windows corrente. Como a propriedade tipo de retorno é IPrincipal, você deve converter o resultado para um WindowsPrincipal Digite. O código a seguir inicializa um novo WindowsPrincipal objeto para o valor da entidade de segurança associado ao segmento corrente.

    WindowsPrincipal MyPrincipal = 
        (WindowsPrincipal) Thread.CurrentPrincipal;
    
    Dim MyPrincipal As WindowsPrincipal = _
        CType(Thread.CurrentPrincipal, WindowsPrincipal) 
    

Para criar um objeto WindowsPrincipal para uma única validação

  1. Inicializar um novo WindowsIdentity objeto chamando o estático WindowsIdentity.GetCurrent método, que consulta a conta do Windows corrente e coloca informações sobre essa conta no objeto identidade recém-criado. O código a seguir cria um novo WindowsIdentity objeto e inicializa ao usuário corrente autenticado.

    WindowsIdentity MyIdentity = WindowsIdentity.GetCurrent();
    
    Dim MyIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()
    
  2. Criar um novo WindowsPrincipal objeto e passá-lo o valor da WindowsIdentity objeto criado na etapa anterior.

    WindowsPrincipal MyPrincipal = new WindowsPrincipal(MyIdentity);
    
    Dim MyPrincipal As New WindowsPrincipal(MyIdentity)
    
  3. Quando o entidade de segurança objeto foi criado, você pode usar um dos vários métodos para validá-lo.Para obter mais informações, consulte Verificações de segurança baseada em função.

Consulte também

Conceitos

entidade de segurança de segurança e objetos de identidade