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
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)
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
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()
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)
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.