WindowsPrincipal WindowsPrincipal WindowsPrincipal WindowsPrincipal Class

Definición

Permite que el código compruebe la condición de pertenencia de un usuario de Windows a un grupo de Windows.Enables code to check the Windows group membership of a Windows user.

public ref class WindowsPrincipal : System::Security::Claims::ClaimsPrincipal
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
type WindowsPrincipal = class
    inherit ClaimsPrincipal
Public Class WindowsPrincipal
Inherits ClaimsPrincipal
Herencia
WindowsPrincipalWindowsPrincipalWindowsPrincipalWindowsPrincipal
Atributos

Ejemplos

En el ejemplo siguiente se muestra cómo usar el IsInRole sobrecargas del método.The following example demonstrates how to use the IsInRole method overloads. El WindowsBuiltInRole enumeración se utiliza como el origen de los identificadores relativos (RID) que identifican las funciones integradas.The WindowsBuiltInRole enumeration is used as the source for the relative identifiers (RIDs) that identify the built-in roles. Los RID se usan para determinar los roles de la entidad de seguridad actual.The RIDs are used to determine the roles of the current principal.

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
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 'DemonstrateWindowsBuiltInRoleEnum

    Public Shared Sub Main()
        DemonstrateWindowsBuiltInRoleEnum()

    End Sub 'Main
End Class 'SecurityPrincipalDemo 

Comentarios

La WindowsPrincipal clase se utiliza principalmente para comprobar el rol de un usuario de Windows.The WindowsPrincipal class is primarily used to check the role of a Windows user. El WindowsPrincipal.IsInRole sobrecargas del método permiten comprobar el rol de usuario mediante el uso de contextos de rol diferentes.The WindowsPrincipal.IsInRole method overloads let you check the user role by using different role contexts.

Constructores

WindowsPrincipal(WindowsIdentity) WindowsPrincipal(WindowsIdentity) WindowsPrincipal(WindowsIdentity) WindowsPrincipal(WindowsIdentity)

Inicializa una nueva instancia de la clase WindowsPrincipal mediante el objeto WindowsIdentity especificado.Initializes a new instance of the WindowsPrincipal class by using the specified WindowsIdentity object.

Propiedades

DeviceClaims DeviceClaims DeviceClaims DeviceClaims

Obtiene todas las notificaciones de dispositivo de Windows de esta entidad de seguridad.Gets all Windows device claims from this principal.

Identity Identity Identity Identity

Obtiene la identidad de la entidad de seguridad actual.Gets the identity of the current principal.

UserClaims UserClaims UserClaims UserClaims

Obtiene todas las notificaciones de usuario de Windows de esta entidad de seguridad.Gets all Windows user claims from this principal.

Métodos

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
IsInRole(Int32) IsInRole(Int32) IsInRole(Int32) IsInRole(Int32)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador relativo (RID) especificado.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el identificador de seguridad (SID) especificado.Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

IsInRole(String) IsInRole(String) IsInRole(String) IsInRole(String)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el nombre especificado.Determines whether the current principal belongs to the Windows user group with the specified name.

IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole)

Determina si la entidad de seguridad actual pertenece al grupo de usuarios de Windows con el WindowsBuiltInRole especificado.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Se aplica a