Compartir a través de


WindowsPrincipal Clase

Definición

Permite que el código compruebe la condición de pertenencia de un usuario de Windows a un grupo de 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
Herencia
WindowsPrincipal
Herencia
WindowsPrincipal
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se muestra cómo usar las sobrecargas del IsInRole método . La WindowsBuiltInRole enumeración se usa como origen para los identificadores relativos (RID) que identifican los roles integrados. Los RID se usan para determinar los roles de la entidad de seguridad actual.

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

Comentarios

La WindowsPrincipal clase se usa principalmente para comprobar el rol de un usuario de Windows. Las WindowsPrincipal.IsInRole sobrecargas de método permiten comprobar el rol de usuario mediante contextos de rol diferentes.

Constructores

WindowsPrincipal(WindowsIdentity)

Inicializa una nueva instancia de la clase WindowsPrincipal mediante el objeto WindowsIdentity especificado.

Propiedades

Claims

Obtiene una colección que contiene todas las notificaciones de todas las identidades de notificaciones asociadas a esta entidad de seguridad de notificaciones.

(Heredado de ClaimsPrincipal)
CustomSerializationData

Contiene datos adicionales proporcionados por un tipo derivado. Se establece normalmente cuando se llama a WriteTo(BinaryWriter, Byte[]).

(Heredado de ClaimsPrincipal)
DeviceClaims

Obtiene todas las notificaciones de dispositivo de Windows de esta entidad de seguridad.

Identities

Obtiene una colección que contiene todas las identidades de notificaciones asociadas a esta entidad de seguridad de notificaciones.

(Heredado de ClaimsPrincipal)
Identity

Obtiene la identidad de la entidad de seguridad actual.

UserClaims

Obtiene todas las notificaciones de usuario de Windows de esta entidad de seguridad.

Métodos

AddIdentities(IEnumerable<ClaimsIdentity>)

Agrega las identidades de notificaciones especificadas a esta entidad de seguridad de notificaciones.

(Heredado de ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Agrega la identidad de notificaciones especificadas a esta entidad de seguridad de notificaciones.

(Heredado de ClaimsPrincipal)
Clone()

Devuelve una copia de esta instancia.

(Heredado de ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Crea una nueva identidad basada en notificaciones.

(Heredado de ClaimsPrincipal)
Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

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

Recupera todas las notificaciones que coinciden con el predicado especificado.

(Heredado de ClaimsPrincipal)
FindAll(String)

Recupera todas o las notificaciones que tienen el tipo de notificación especificado.

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

Recupera la primera reclamación con la que coincide el predicado especificado.

(Heredado de ClaimsPrincipal)
FindFirst(String)

Recupera la primera reclamación con el tipo especificado.

(Heredado de ClaimsPrincipal)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Rellena el objeto SerializationInfo con los datos necesarios para serializar el objeto ClaimsPrincipal actual.

(Heredado de ClaimsPrincipal)
GetType()

Obtiene el Type de la instancia actual.

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

Determina si cualquiera de las identidades de notificaciones asociadas a esta entidad de seguridad de notificaciones contiene una notificación que coincide con el predicado especificado.

(Heredado de ClaimsPrincipal)
HasClaim(String, String)

Determina si cualquiera de las identidades de notificaciones asociadas a esta entidad de seguridad de notificaciones contiene una notificación con el valor y el tipo de notificación especificada.

(Heredado de ClaimsPrincipal)
IsInRole(Int32)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador relativo (RID) especificado.

IsInRole(SecurityIdentifier)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador de seguridad (SID) especificado.

IsInRole(String)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el nombre especificado.

IsInRole(WindowsBuiltInRole)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el WindowsBuiltInRole especificado.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)
WriteTo(BinaryWriter)

Se serializa usando un BinaryWriter.

(Heredado de ClaimsPrincipal)
WriteTo(BinaryWriter, Byte[])

Se serializa usando un BinaryWriter.

(Heredado de ClaimsPrincipal)

Se aplica a