Compartilhar via


WindowsPrincipal Classe

Definição

Permite que o código verifique a associação de grupo do Windows de um usuário do Windows.

public ref class WindowsPrincipal : System::Security::Claims::ClaimsPrincipal
public ref class WindowsPrincipal : System::Security::Principal::IPrincipal
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
[System.Serializable]
public class WindowsPrincipal : System.Security.Principal.IPrincipal
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class WindowsPrincipal : System.Security.Principal.IPrincipal
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
type WindowsPrincipal = class
    inherit ClaimsPrincipal
[<System.Serializable>]
type WindowsPrincipal = class
    interface IPrincipal
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type WindowsPrincipal = class
    interface IPrincipal
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type WindowsPrincipal = class
    inherit ClaimsPrincipal
Public Class WindowsPrincipal
Inherits ClaimsPrincipal
Public Class WindowsPrincipal
Implements IPrincipal
Herança
WindowsPrincipal
Herança
WindowsPrincipal
Atributos
Implementações

Exemplos

O exemplo a seguir demonstra como usar as sobrecargas de IsInRole método. A WindowsBuiltInRole enumeração é usada como a origem dos RIDs (identificadores relativos) que identificam as funções internas. Os RIDs são usados para determinar as funções da entidade de segurança atual.

public:
   static void DemonstrateWindowsBuiltInRoleEnum()
   {
      AppDomain^ myDomain = Thread::GetDomain();

      myDomain->SetPrincipalPolicy( PrincipalPolicy::WindowsPrincipal );
      WindowsPrincipal^ myPrincipal = dynamic_cast<WindowsPrincipal^>(Thread::CurrentPrincipal);

      Console::WriteLine( "{0} belongs to: ", myPrincipal->Identity->Name );

      Array^ wbirFields = Enum::GetValues( WindowsBuiltInRole::typeid );

      for each ( Object^ roleName in wbirFields )
      {
         try
         {
            Console::WriteLine( "{0}? {1}.", roleName,
               myPrincipal->IsInRole(  *dynamic_cast<WindowsBuiltInRole^>(roleName) ) );
         }
         catch ( Exception^ ) 
         {
            Console::WriteLine( "{0}: Could not obtain role for this RID.",
               roleName );
         }
      }
   }
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;

class SecurityPrincipalDemo
{
    public static void DemonstrateWindowsBuiltInRoleEnum()
    {
        AppDomain myDomain = Thread.GetDomain();

        myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        WindowsPrincipal myPrincipal = (WindowsPrincipal)Thread.CurrentPrincipal;
        Console.WriteLine("{0} belongs to: ", myPrincipal.Identity.Name.ToString());
        Array wbirFields = Enum.GetValues(typeof(WindowsBuiltInRole));
        foreach (object roleName in wbirFields)
        {
            try
            {
                // Cast the role name to a RID represented by the WindowsBuildInRole value.
                Console.WriteLine("{0}? {1}.", roleName,
                    myPrincipal.IsInRole((WindowsBuiltInRole)roleName));
                Console.WriteLine("The RID for this role is: " + ((int)roleName).ToString());
            }
            catch (Exception)
            {
                Console.WriteLine("{0}: Could not obtain role for this RID.",
                    roleName);
            }
        }
        // Get the role using the string value of the role.
        Console.WriteLine("{0}? {1}.", "Administrators",
            myPrincipal.IsInRole("BUILTIN\\" + "Administrators"));
        Console.WriteLine("{0}? {1}.", "Users",
            myPrincipal.IsInRole("BUILTIN\\" + "Users"));
        // Get the role using the WindowsBuiltInRole enumeration value.
        Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator,
           myPrincipal.IsInRole(WindowsBuiltInRole.Administrator));
        // Get the role using the WellKnownSidType.
        SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
        Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid));
    }

    public static void Main()
    {
        DemonstrateWindowsBuiltInRoleEnum();
    }
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal

Class SecurityPrincipalDemo

    Public Shared Sub DemonstrateWindowsBuiltInRoleEnum()
        Dim myDomain As AppDomain = Thread.GetDomain()

        myDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
        Dim myPrincipal As WindowsPrincipal = CType(Thread.CurrentPrincipal, WindowsPrincipal)
        Console.WriteLine("{0} belongs to: ", myPrincipal.Identity.Name.ToString())
        Dim wbirFields As Array = [Enum].GetValues(GetType(WindowsBuiltInRole))
        Dim roleName As Object
        For Each roleName In wbirFields
            Try
                ' Cast the role name to a RID represented by the WindowsBuildInRole value.
                Console.WriteLine("{0}? {1}.", roleName, myPrincipal.IsInRole(CType(roleName, WindowsBuiltInRole)))
                Console.WriteLine("The RID for this role is: " + Fix(roleName).ToString())

            Catch
                Console.WriteLine("{0}: Could not obtain role for this RID.", roleName)
            End Try
        Next roleName
        ' Get the role using the string value of the role.
        Console.WriteLine("{0}? {1}.", "Administrators", myPrincipal.IsInRole("BUILTIN\" + "Administrators"))
        Console.WriteLine("{0}? {1}.", "Users", myPrincipal.IsInRole("BUILTIN\" + "Users"))
        ' Get the role using the WindowsBuiltInRole enumeration value.
        Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator, myPrincipal.IsInRole(WindowsBuiltInRole.Administrator))
        ' Get the role using the WellKnownSidType.
        Dim sid As New SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, Nothing)
        Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid))

    End Sub

    Public Shared Sub Main()
        DemonstrateWindowsBuiltInRoleEnum()

    End Sub
End Class

Comentários

A WindowsPrincipal classe é usada principalmente para verificar a função de um usuário do Windows. As WindowsPrincipal.IsInRole sobrecargas de método permitem verificar a função de usuário usando contextos de função diferentes.

Construtores

WindowsPrincipal(WindowsIdentity)

Inicializa uma nova instância da classe WindowsPrincipal usando o objeto WindowsIdentity especificado.

Propriedades

Claims

Obtém uma coleção que contém todas as declarações de todas as identidades de declarações associadas a essa entidade de segurança de declarações.

(Herdado de ClaimsPrincipal)
CustomSerializationData

Contém quaisquer dados adicionais fornecidos por um tipo derivado. Normalmente definido ao chamar WriteTo(BinaryWriter, Byte[]).

(Herdado de ClaimsPrincipal)
DeviceClaims

Obtém todas as declarações de dispositivo Windows dessa entidade de segurança.

Identities

Obtém uma coleção que contém todas as identidades baseadas em declarações associadas a essa entidade de segurança de declarações.

(Herdado de ClaimsPrincipal)
Identity

Obtém a identidade da entidade de segurança atual.

UserClaims

Obtém todas as declarações de usuário do Windows dessa entidade de segurança.

Métodos

AddIdentities(IEnumerable<ClaimsIdentity>)

Adiciona as identidades baseadas em declarações especificadas a esta entidade de segurança de declarações.

(Herdado de ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Adiciona a identidade baseada em declarações especificada a esta entidade de segurança de declarações.

(Herdado de ClaimsPrincipal)
Clone()

Retorna uma cópia desta instância.

(Herdado de ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Cria uma nova identidade baseada em declarações.

(Herdado de ClaimsPrincipal)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindAll(Predicate<Claim>)

Recupera todas as declarações que correspondem ao predicado especificado.

(Herdado de ClaimsPrincipal)
FindAll(String)

Recupera todas as declarações que têm o tipo de declaração especificado.

(Herdado de ClaimsPrincipal)
FindFirst(Predicate<Claim>)

Recupera a primeira declaração correspondente ao predicado especificado.

(Herdado de ClaimsPrincipal)
FindFirst(String)

Recupera a primeira declaração com o tipo de declaração especificado.

(Herdado de ClaimsPrincipal)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Preenche o SerializationInfo com os dados necessários para serializar o objeto de ClaimsPrincipal atual.

(Herdado de ClaimsPrincipal)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HasClaim(Predicate<Claim>)

Determina se uma das identidades baseadas em declarações associadas a essa entidade de segurança de declarações contém uma declaração correspondente ao predicado especificado.

(Herdado de ClaimsPrincipal)
HasClaim(String, String)

Determina se uma das identidades de declarações associadas a essa entidade de segurança de declarações contém uma declaração com o valor e o tipo de declaração especificados.

(Herdado de ClaimsPrincipal)
IsInRole(Int32)

Determina se a entidade de segurança atual pertence ao grupo de usuários do Windows com o RID (identificador relativo) especificado.

IsInRole(SecurityIdentifier)

Determina se a entidade de segurança atual pertence ao grupo de usuários do Windows com o SID (identificador de segurança) especificado.

IsInRole(String)

Determina se a entidade de segurança atual pertence ao grupo de usuários do Windows com o nome especificado.

IsInRole(WindowsBuiltInRole)

Determina se a entidade atual pertence ao grupo de usuários do Windows com o WindowsBuiltInRole especificado.

MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)
WriteTo(BinaryWriter, Byte[])

Serializa usando um BinaryWriter.

(Herdado de ClaimsPrincipal)
WriteTo(BinaryWriter)

Serializa usando um BinaryWriter.

(Herdado de ClaimsPrincipal)

Aplica-se a