WindowsPrincipal Klasse

Definition

Ermöglicht es Code, die Windows-Gruppenmitgliedschaft eines Windows-Benutzers zu überprüfen.Enables code to check the Windows group membership of a Windows user.

public ref class WindowsPrincipal : System::Security::Claims::ClaimsPrincipal
public class WindowsPrincipal : System.Security.Claims.ClaimsPrincipal
[System.Serializable]
public 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
Vererbung
WindowsPrincipal
Vererbung
WindowsPrincipal
Attribute

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die IsInRole Methoden Überladungen verwendet werden.The following example demonstrates how to use the IsInRole method overloads. Die WindowsBuiltInRole-Enumeration wird als Quelle für die relativen Bezeichner (RIDs) verwendet, mit denen die integrierten Rollen identifiziert werden.The WindowsBuiltInRole enumeration is used as the source for the relative identifiers (RIDs) that identify the built-in roles. Die RIDs werden zum Bestimmen der Rollen des aktuellen Prinzipals verwendet.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.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

Hinweise

Die WindowsPrincipal-Klasse wird hauptsächlich verwendet, um die Rolle eines Windows-Benutzers zu überprüfen.The WindowsPrincipal class is primarily used to check the role of a Windows user. Mit den WindowsPrincipal.IsInRole-Methoden Überladungen können Sie die Benutzerrolle mithilfe verschiedener Rollen Kontexte überprüfen.The WindowsPrincipal.IsInRole method overloads let you check the user role by using different role contexts.

Konstruktoren

WindowsPrincipal(WindowsIdentity)

Initialisiert eine neue Instanz der WindowsPrincipal-Klasse unter Verwendung des angegebenen WindowsIdentity-Objekts.Initializes a new instance of the WindowsPrincipal class by using the specified WindowsIdentity object.

Eigenschaften

Claims

Ruft eine Auflistung mit allen Ansprüchen aller Anspruchsidentitäten ab, die diesem Anspruchsprinzipal zugeordnet sind.Gets a collection that contains all of the claims from all of the claims identities associated with this claims principal.

(Geerbt von ClaimsPrincipal)
CustomSerializationData

Enthält alle zusätzlichen Daten, die von einem abgeleiteten Typ bereitgestellt werden.Contains any additional data provided by a derived type. Wird in der Regel beim Aufrufen von WriteTo(BinaryWriter, Byte[]) festgelegt.Typically set when calling WriteTo(BinaryWriter, Byte[]).

(Geerbt von ClaimsPrincipal)
DeviceClaims

Ruft alle Windows-Geräteansprüche von diesem Prinzipal ab.Gets all Windows device claims from this principal.

Identities

Ruft eine Auflistung mit allen Anspruchsidentitäten ab, die diesem Anspruchsprinzipal zugeordnet sind.Gets a collection that contains all of the claims identities associated with this claims principal.

(Geerbt von ClaimsPrincipal)
Identity

Ruft die Identität des aktuellen Principals ab.Gets the identity of the current principal.

UserClaims

Ruft alle Windows-Benutzeransprüche von diesem Prinzipal ab.Gets all Windows user claims from this principal.

Methoden

AddIdentities(IEnumerable<ClaimsIdentity>)

Fügt die angegebenen Anspruchsidentitäten diesem Anspruchsprinzipal hinzu.Adds the specified claims identities to this claims principal.

(Geerbt von ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Fügt die angegebene Anspruchsidentität diesem Anspruchsprinzipal hinzu.Adds the specified claims identity to this claims principal.

(Geerbt von ClaimsPrincipal)
Clone()

Gibt eine Kopie dieser Instanz zurück.Returns a copy of this instance.

(Geerbt von ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Erstellt eine neue Anspruchsidentität.Creates a new claims identity.

(Geerbt von ClaimsPrincipal)
Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.Determines whether the specified object is equal to the current object.

(Geerbt von Object)
FindAll(Predicate<Claim>)

Ruft alle Ansprüche ab, die mit dem angegebenen Prädikat übereinstimmen.Retrieves all of the claims that are matched by the specified predicate.

(Geerbt von ClaimsPrincipal)
FindAll(String)

Ruft alle Ansprüche ab oder diejenigen, die den angegebenen Anspruchstyp aufweisen.Retrieves all or the claims that have the specified claim type.

(Geerbt von ClaimsPrincipal)
FindFirst(Predicate<Claim>)

Ruft den ersten Anspruch ab, der dem angegebenen Prädikat entspricht.Retrieves the first claim that is matched by the specified predicate.

(Geerbt von ClaimsPrincipal)
FindFirst(String)

Ruft den ersten Anspruch mit den angegebenen Anspruchstyp ab.Retrieves the first claim with the specified claim type.

(Geerbt von ClaimsPrincipal)
GetHashCode()

Dient als die Standard-HashfunktionServes as the default hash function.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Füllt SerializationInfo mit den für das Serialisieren des aktuellen ClaimsPrincipal-Objekts erforderlichen Daten auf.Populates the SerializationInfo with data needed to serialize the current ClaimsPrincipal object.

(Geerbt von ClaimsPrincipal)
GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Geerbt von Object)
HasClaim(Predicate<Claim>)

Ermittelt, ob eine der Anspruchsidentitäten, die diesem Anspruchsprinzipal zugeordnet sind, einen Anspruch enthält, der mit dem angegebenen Prädikat verglichen wird.Determines whether any of the claims identities associated with this claims principal contains a claim that is matched by the specified predicate.

(Geerbt von ClaimsPrincipal)
HasClaim(String, String)

Ermittelt, ob eine der Anspruchsidentitäten, die diesem Anspruchsprinzipal zugeordnet sind, einen Anspruch mit dem angegebenen Anspruchstyp und -wert enthält.Determines whether any of the claims identities associated with this claims principal contains a claim with the specified claim type and value.

(Geerbt von ClaimsPrincipal)
IsInRole(Int32)

Bestimmt, ob der aktuelle Prinzipal zur Windows-Benutzergruppe mit der angegebenen relativen ID (RID) gehört.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

IsInRole(SecurityIdentifier)

Bestimmt, ob der aktuelle Prinzipal zur Windows-Benutzergruppe mit der angegebenen Sicherheits-ID (SID) gehört.Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

IsInRole(String)

Bestimmt, ob der aktuelle Prinzipal zu der Windows-Benutzergruppe mit dem angegebenen Namen gehört.Determines whether the current principal belongs to the Windows user group with the specified name.

IsInRole(WindowsBuiltInRole)

Bestimmt, ob der aktuelle Prinzipal zu der Windows-Benutzergruppe mit der angegebenen WindowsBuiltInRole gehört.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Geerbt von Object)
WriteTo(BinaryWriter)

Serialisiert mithilfe von BinaryWriter.Serializes using a BinaryWriter.

(Geerbt von ClaimsPrincipal)
WriteTo(BinaryWriter, Byte[])

Serialisiert mithilfe von BinaryWriter.Serializes using a BinaryWriter.

(Geerbt von ClaimsPrincipal)

Gilt für: