WindowsPrincipal Classe

Definição

Permite que o código verifique a pertença ao grupo Windows de um utilizador 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 seguinte demonstra como usar as IsInRole sobrecargas de métodos. A WindowsBuiltInRole enumeração é usada como fonte para os identificadores relativos (RIDs) que identificam os papéis incorporados. Os RIDs são usados para determinar os papéis do atual diretor.

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

Observações

A classe WindowsPrincipal é usada principalmente para verificar o papel de um utilizador Windows. As WindowsPrincipal.IsInRole sobrecargas de métodos permitem-te verificar o papel do utilizador usando diferentes contextos de funções.

Construtores

Name Description
WindowsPrincipal(WindowsIdentity)

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

Propriedades

Name Description
Claims

Obtém uma coleção que contém todas as reivindicações de todas as identidades de reivindicações associadas ao principal deste pedido.

(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 afirmações de dispositivos Windows a partir deste princípio.

Identities

Obtém uma coleção que contém todas as identidades de reivindicações associadas ao principal deste pedido.

(Herdado de ClaimsPrincipal)
Identity

Obtém a identidade do atual diretor.

UserClaims

Obtém todas as afirmações dos utilizadores do Windows a partir deste princípio.

Métodos

Name Description
AddIdentities(IEnumerable<ClaimsIdentity>)

Adiciona as identidades especificadas das reivindicações ao principal dessa reivindicação.

(Herdado de ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Adiciona a identidade especificada das reivindicações ao principal dessa reivindicação.

(Herdado de ClaimsPrincipal)
Clone()

Devolve uma cópia desta ocorrência.

(Herdado de ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Cria uma nova identidade de reclamação.

(Herdado de ClaimsPrincipal)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

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

Recupera todas as reivindicações que são correspondidas pelo predicado especificado.

(Herdado de ClaimsPrincipal)
FindAll(String)

Recupera todas as reivindicações que tenham o tipo de reivindicação especificado.

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

Recupera a primeira afirmação que é correspondida pelo predicado especificado.

(Herdado de ClaimsPrincipal)
FindFirst(String)

Recupera a primeira reivindicação com o tipo especificado.

(Herdado de ClaimsPrincipal)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

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

(Herdado de ClaimsPrincipal)
GetType()

Obtém o Type da instância atual.

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

Determina se alguma das identidades das reivindicações associadas ao principal desta reivindicação contém uma reivindicação correspondida ao predicado especificado.

(Herdado de ClaimsPrincipal)
HasClaim(String, String)

Determina se alguma das identidades de reivindicações associadas ao principal deste pedido contém uma reivindicação com o tipo e valor especificados.

(Herdado de ClaimsPrincipal)
IsInRole(Int32)

Determina se o principal atual pertence ao grupo de utilizadores do Windows com o identificador relativo (RID) especificado.

IsInRole(SecurityIdentifier)

Determina se o principal atual pertence ao grupo de utilizadores do Windows com o identificador de segurança (SID) especificado.

IsInRole(String)

Determina se o principal atual pertence ao grupo de utilizadores do Windows com o nome especificado.

IsInRole(WindowsBuiltInRole)

Determina se o principal atual pertence ao grupo de utilizadores Windows com o WindowsBuiltInRole especificado.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia 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