Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
Este artigo aplica-se ao Windows.
Para obter informações sobre o ASP.NET Core, consulte ASP.NET Core Security.
Existem duas formas de criar um WindowsPrincipal objeto, dependendo se o código tem de realizar repetidamente validação baseada em funções ou apenas uma vez.
Se o código tiver de realizar repetidamente validação baseada em papéis, o primeiro dos procedimentos seguintes gera menos sobrecarga. Quando o código precisa fazer validações baseadas em funções apenas uma vez, pode criar um WindowsPrincipal objeto usando o segundo dos procedimentos seguintes.
Para criar um objeto WindowsPrincipal para validação repetida
Chame o método SetPrincipalPolicy no objeto AppDomain que é retornado pela propriedade estática AppDomain.CurrentDomain, passando ao método um valor de enumeração PrincipalPolicy que indica qual deve ser a nova política. Os valores suportados são NoPrincipal, UnauthenticatedPrincipale WindowsPrincipal. O código seguinte demonstra esta chamada de método.
AppDomain.CurrentDomain.SetPrincipalPolicy( PrincipalPolicy.WindowsPrincipal);AppDomain.CurrentDomain.SetPrincipalPolicy( _ PrincipalPolicy.WindowsPrincipal)Depois de definir a política, use a propriedade estática Thread.CurrentPrincipal para recuperar o principal que encapsula o utilizador atual do Windows. Como o tipo de retorno da propriedade é IPrincipal, deve converter o resultado para um tipo WindowsPrincipal. O seguinte código inicializa um novo objeto WindowsPrincipal com o valor do principal associado à thread atual.
WindowsPrincipal myPrincipal = (WindowsPrincipal) Thread.CurrentPrincipal;Dim myPrincipal As WindowsPrincipal = _ CType(Thread.CurrentPrincipal, WindowsPrincipal)Quando o objeto principal foi criado, pode usar um dos vários métodos para o validar.
Para criar um objeto WindowsPrincipal para uma única validação
Inicialize um novo WindowsIdentity objeto chamando o método estático WindowsIdentity.GetCurrent , que consulta a conta atual do Windows e coloca informações sobre essa conta no novo objeto identidade criado. O código seguinte cria um novo WindowsIdentity objeto e inicializa-o para o utilizador autenticado atual.
WindowsIdentity myIdentity = WindowsIdentity.GetCurrent();Dim myIdentity As WindowsIdentity = WindowsIdentity.GetCurrent()Crie um novo WindowsPrincipal objeto e transmita-lhe o valor do WindowsIdentity objeto criado no passo anterior.
WindowsPrincipal myPrincipal = new WindowsPrincipal(myIdentity);Dim myPrincipal As New WindowsPrincipal(myIdentity)Quando o objeto principal foi criado, pode usar um dos vários métodos para o validar.