Compartilhar via


Como: Criar um Objeto WindowsPrincipal

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

Se o 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 validações baseada em função, somente uma vez, você pode criar um WindowsPrincipal o 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 que é retornado pela estática AppDomain.CurrentDomain propriedade, passando o método um PrincipalPolicy o valor de enumeração que indica qual deve ser a nova diretiva. Valores suportados são NoPrincipal, UnauthenticatedPrincipal, e WindowsPrincipal. O código a seguir demonstra a chamada de método.

    AppDomain.CurrentDomain.SetPrincipalPolicy(
        PrincipalPolicy.WindowsPrincipal);
    
    AppDomain.CurrentDomain.SetPrincipalPolicy( _
        PrincipalPolicy.WindowsPrincipal)
    
  2. Com a diretiva definida, use estática Thread.CurrentPrincipal propriedade para recuperar o objeto que encapsula o usuário atual do Windows. Como a propriedade de tipo de retorno é IPrincipal, você deve converter o resultado para um WindowsPrincipal tipo. O código a seguir inicializa uma nova WindowsPrincipal o objeto para o valor da entidade de segurança associado com o segmento atual.

    WindowsPrincipal MyPrincipal = 
        (WindowsPrincipal) Thread.CurrentPrincipal;
    
    Dim MyPrincipal As WindowsPrincipal = _
        CType(Thread.CurrentPrincipal, WindowsPrincipal) 
    
  3. Quando o 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.

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

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

    WindowsIdentity MyIdentity = WindowsIdentity.GetCurrent();
    
    Dim MyIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()
    
  2. Criar uma nova WindowsPrincipal de objetos e passar o valor da WindowsIdentity objeto criado na etapa anterior.

    WindowsPrincipal MyPrincipal = new WindowsPrincipal(MyIdentity);
    
    Dim MyPrincipal As New WindowsPrincipal(MyIdentity)
    
  3. Quando o 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

Principal e objetos de identidade