Udostępnij za pośrednictwem


WindowsPrincipal Klasa

Definicja

Umożliwia kod sprawdzania członkostwa w grupie systemu Windows użytkownika systemu 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
Dziedziczenie
WindowsPrincipal
Dziedziczenie
WindowsPrincipal
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak używać IsInRole przeciążeń metody. Wyliczenie WindowsBuiltInRole jest używane jako źródło identyfikatorów względnych (IDENTYFIKATORÓW), które identyfikują wbudowane role. Identyfikatory JEDNOSTKI są używane do określania ról bieżącego podmiotu zabezpieczeń.

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

Uwagi

Klasa WindowsPrincipal jest używana głównie do sprawdzania roli użytkownika systemu Windows. Przeciążenia WindowsPrincipal.IsInRole metody umożliwiają sprawdzenie roli użytkownika przy użyciu różnych kontekstów ról.

Konstruktory

WindowsPrincipal(WindowsIdentity)

Inicjuje WindowsPrincipal nowe wystąpienie klasy przy użyciu określonego WindowsIdentity obiektu.

Właściwości

Claims

Pobiera kolekcję zawierającą wszystkie oświadczenia ze wszystkich tożsamości oświadczeń skojarzonych z tym podmiotem zabezpieczeń oświadczeń.

(Odziedziczone po ClaimsPrincipal)
CustomSerializationData

Zawiera wszelkie dodatkowe dane udostępniane przez typ pochodny. Zazwyczaj ustawiane podczas wywoływania metody WriteTo(BinaryWriter, Byte[]).

(Odziedziczone po ClaimsPrincipal)
DeviceClaims

Pobiera wszystkie oświadczenia urządzeń z systemem Windows od tego podmiotu zabezpieczeń.

Identities

Pobiera kolekcję zawierającą wszystkie tożsamości oświadczeń skojarzone z tym podmiotem zabezpieczeń oświadczeń.

(Odziedziczone po ClaimsPrincipal)
Identity

Pobiera tożsamość bieżącego podmiotu zabezpieczeń.

UserClaims

Pobiera wszystkie oświadczenia użytkownika systemu Windows od tego podmiotu zabezpieczeń.

Metody

AddIdentities(IEnumerable<ClaimsIdentity>)

Dodaje określone tożsamości oświadczeń do tego podmiotu zabezpieczeń oświadczeń.

(Odziedziczone po ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Dodaje określoną tożsamość oświadczeń do tego podmiotu zabezpieczeń oświadczeń.

(Odziedziczone po ClaimsPrincipal)
Clone()

Zwraca kopię tego wystąpienia.

(Odziedziczone po ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Tworzy nową tożsamość oświadczeń.

(Odziedziczone po ClaimsPrincipal)
Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
FindAll(Predicate<Claim>)

Pobiera wszystkie oświadczenia dopasowane przez określony predykat.

(Odziedziczone po ClaimsPrincipal)
FindAll(String)

Pobiera wszystkie oświadczenia, które mają określony typ oświadczenia.

(Odziedziczone po ClaimsPrincipal)
FindFirst(Predicate<Claim>)

Pobiera pierwsze oświadczenie zgodne z określonym predykatem.

(Odziedziczone po ClaimsPrincipal)
FindFirst(String)

Pobiera pierwsze oświadczenie z określonym typem oświadczenia.

(Odziedziczone po ClaimsPrincipal)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Wypełnia element SerializationInfo danymi wymaganymi do serializacji bieżącego ClaimsPrincipal obiektu.

(Odziedziczone po ClaimsPrincipal)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
HasClaim(Predicate<Claim>)

Określa, czy którakolwiek z tożsamości oświadczeń skojarzonych z tym podmiotem zabezpieczeń oświadczeń zawiera oświadczenie zgodne z określonym predykatem.

(Odziedziczone po ClaimsPrincipal)
HasClaim(String, String)

Określa, czy którakolwiek z tożsamości oświadczeń skojarzonych z tym podmiotem zabezpieczeń oświadczeń zawiera oświadczenie o określonym typie i wartości oświadczenia.

(Odziedziczone po ClaimsPrincipal)
IsInRole(Int32)

Określa, czy bieżący podmiot zabezpieczeń należy do grupy użytkowników systemu Windows z określonym identyfikatorem względnym (RID).

IsInRole(SecurityIdentifier)

Określa, czy bieżący podmiot zabezpieczeń należy do grupy użytkowników systemu Windows z określonym identyfikatorem zabezpieczeń (SID).

IsInRole(String)

Określa, czy bieżący podmiot zabezpieczeń należy do grupy użytkowników systemu Windows o określonej nazwie.

IsInRole(WindowsBuiltInRole)

Określa, czy bieżący podmiot zabezpieczeń należy do grupy użytkowników systemu Windows z określonym WindowsBuiltInRole.

MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
WriteTo(BinaryWriter, Byte[])

Serializuje przy użyciu klasy BinaryWriter.

(Odziedziczone po ClaimsPrincipal)
WriteTo(BinaryWriter)

Serializuje przy użyciu klasy BinaryWriter.

(Odziedziczone po ClaimsPrincipal)

Dotyczy