WindowsPrincipal Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ermöglicht es Code, die Windows-Gruppenmitgliedschaft eines Windows-Benutzers zu überprüfen.
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
- Vererbung
- Vererbung
-
WindowsPrincipal
- Attribute
- Implementiert
Beispiele
Im folgenden Beispiel wird die Verwendung der IsInRole Methodenüberladungen veranschaulicht. Die WindowsBuiltInRole Enumeration wird als Quelle für die relativen Bezeichner (RELATIVE Identifiers, RIDs) verwendet, die die integrierten Rollen identifizieren. Die RIDs werden verwendet, um die Rollen des aktuellen Prinzipals zu bestimmen.
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. Mithilfe WindowsPrincipal.IsInRole der Methodenüberladungen können Sie die Benutzerrolle mithilfe verschiedener Rollenkontexte überprüfen.
Konstruktoren
WindowsPrincipal(WindowsIdentity) |
Initialisiert eine neue Instanz der WindowsPrincipal-Klasse unter Verwendung des angegebenen WindowsIdentity-Objekts. |
Eigenschaften
Claims |
Ruft eine Auflistung mit allen Ansprüchen aller Anspruchsidentitäten ab, die diesem Anspruchsprinzipal zugeordnet sind. (Geerbt von ClaimsPrincipal) |
CustomSerializationData |
Enthält alle zusätzlichen Daten, die von einem abgeleiteten Typ bereitgestellt werden. Wird in der Regel beim Aufrufen von WriteTo(BinaryWriter, Byte[]) festgelegt. (Geerbt von ClaimsPrincipal) |
DeviceClaims |
Ruft alle Windows-Geräteansprüche von diesem Prinzipal ab. |
Identities |
Ruft eine Auflistung mit allen Anspruchsidentitäten ab, die diesem Anspruchsprinzipal zugeordnet sind. (Geerbt von ClaimsPrincipal) |
Identity |
Ruft die Identität des aktuellen Principals ab. |
UserClaims |
Ruft alle Windows-Benutzeransprüche von diesem Prinzipal ab. |
Methoden
AddIdentities(IEnumerable<ClaimsIdentity>) |
Fügt die angegebenen Anspruchsidentitäten diesem Anspruchsprinzipal hinzu. (Geerbt von ClaimsPrincipal) |
AddIdentity(ClaimsIdentity) |
Fügt die angegebene Anspruchsidentität diesem Anspruchsprinzipal hinzu. (Geerbt von ClaimsPrincipal) |
Clone() |
Gibt eine Kopie dieser Instanz zurück. (Geerbt von ClaimsPrincipal) |
CreateClaimsIdentity(BinaryReader) |
Erstellt eine neue Anspruchsidentität. (Geerbt von ClaimsPrincipal) |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindAll(Predicate<Claim>) |
Ruft alle Ansprüche ab, die dem angegebenen Prädikat entsprechen. (Geerbt von ClaimsPrincipal) |
FindAll(String) |
Ruft alle Ansprüche ab oder diejenigen, die den angegebenen Anspruchstyp aufweisen. (Geerbt von ClaimsPrincipal) |
FindFirst(Predicate<Claim>) |
Ruft den ersten Anspruch ab, der dem angegebenen Prädikat entspricht. (Geerbt von ClaimsPrincipal) |
FindFirst(String) |
Ruft den ersten Anspruch mit dem angegebenen Anspruchstyp ab. (Geerbt von ClaimsPrincipal) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Füllt das SerializationInfo-Objekt mit den für das Serialisieren des aktuellen ClaimsPrincipal-Objekts erforderlichen Daten. (Geerbt von ClaimsPrincipal) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (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. (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. (Geerbt von ClaimsPrincipal) |
IsInRole(Int32) |
Bestimmt, ob der aktuelle Prinzipal zur Windows-Benutzergruppe mit der angegebenen relativen ID (RID) gehört. |
IsInRole(SecurityIdentifier) |
Bestimmt, ob der aktuelle Prinzipal zur Windows-Benutzergruppe mit der angegebenen Sicherheits-ID (SID) gehört. |
IsInRole(String) |
Bestimmt, ob der aktuelle Prinzipal zu der Windows-Benutzergruppe mit dem angegebenen Namen gehört. |
IsInRole(WindowsBuiltInRole) |
Bestimmt, ob der aktuelle Prinzipal zu der Windows-Benutzergruppe mit der angegebenen WindowsBuiltInRole gehört. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
WriteTo(BinaryWriter) |
Serialisiert mithilfe von BinaryWriter. (Geerbt von ClaimsPrincipal) |
WriteTo(BinaryWriter, Byte[]) |
Serialisiert mithilfe von BinaryWriter. (Geerbt von ClaimsPrincipal) |