WindowsPrincipal Klas

Definitie

Hiermee schakelt u code in om het Windows groepslidmaatschap van een Windows gebruiker te controleren.

public ref class WindowsPrincipal : System::Security::Principal::IPrincipal
public ref 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
[<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
Implements IPrincipal
Public Class WindowsPrincipal
Inherits ClaimsPrincipal
Overname
WindowsPrincipal
Overname
WindowsPrincipal
Kenmerken
Implementeringen

Voorbeelden

In het volgende voorbeeld ziet u hoe u de overbelasting van de IsInRole methode gebruikt. De WindowsBuiltInRole opsomming wordt gebruikt als de bron voor de relatieve id's (RID's) die de ingebouwde rollen identificeren. De RID's worden gebruikt om de rollen van de huidige principal te bepalen.

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

Opmerkingen

De klasse WindowsPrincipal wordt voornamelijk gebruikt om de rol van een Windows gebruiker te controleren. Met de WindowsPrincipal.IsInRole overbelasting van de methode kunt u de gebruikersrol controleren met behulp van verschillende rolcontexten.

Constructors

Name Description
WindowsPrincipal(WindowsIdentity)

Initialiseert een nieuw exemplaar van de WindowsPrincipal klasse met behulp van het opgegeven WindowsIdentity object.

Eigenschappen

Name Description
Claims

Hiermee haalt u een verzameling op die alle claims bevat van alle claimidentiteiten die aan deze claimprincipaal zijn gekoppeld.

(Overgenomen van ClaimsPrincipal)
CustomSerializationData

Bevat eventuele aanvullende gegevens die worden geleverd door een afgeleid type. Meestal ingesteld bij het aanroepen WriteTo(BinaryWriter, Byte[]).

(Overgenomen van ClaimsPrincipal)
DeviceClaims

Hiermee worden alle Windows apparaatclaims opgehaald van deze principal.

Identities

Hiermee haalt u een verzameling op die alle claimsidentiteiten bevat die zijn gekoppeld aan deze claimprincipaal.

(Overgenomen van ClaimsPrincipal)
Identity

Hiermee haalt u de identiteit van de huidige principal op.

UserClaims

Hiermee worden alle Windows gebruikersclaims opgehaald uit deze principal.

Methoden

Name Description
AddIdentities(IEnumerable<ClaimsIdentity>)

Voegt de opgegeven claimidentiteiten toe aan deze claimprincipaal.

(Overgenomen van ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Hiermee voegt u de opgegeven claimidentiteit toe aan deze claimprincipaal.

(Overgenomen van ClaimsPrincipal)
Clone()

Retourneert een kopie van dit exemplaar.

(Overgenomen van ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Hiermee maakt u een nieuwe claimidentiteit.

(Overgenomen van ClaimsPrincipal)
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
FindAll(Predicate<Claim>)

Hiermee worden alle claims opgehaald die overeenkomen met het opgegeven predicaat.

(Overgenomen van ClaimsPrincipal)
FindAll(String)

Hiermee worden alle of de claims met het opgegeven claimtype opgehaald.

(Overgenomen van ClaimsPrincipal)
FindFirst(Predicate<Claim>)

Haalt de eerste claim op die overeenkomt met het opgegeven predicaat.

(Overgenomen van ClaimsPrincipal)
FindFirst(String)

Haalt de eerste claim op met het opgegeven claimtype.

(Overgenomen van ClaimsPrincipal)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetObjectData(SerializationInfo, StreamingContext)

Hiermee worden de SerializationInfo gegevens gevuld die nodig zijn om het huidige ClaimsPrincipal object te serialiseren.

(Overgenomen van ClaimsPrincipal)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
HasClaim(Predicate<Claim>)

Bepaalt of een van de claims-id's die zijn gekoppeld aan deze claimprincipaal een claim bevat die overeenkomt met het opgegeven predicaat.

(Overgenomen van ClaimsPrincipal)
HasClaim(String, String)

Bepaalt of een van de claims-id's die aan deze claimprincipaal zijn gekoppeld, een claim bevat met het opgegeven claimtype en de opgegeven waarde.

(Overgenomen van ClaimsPrincipal)
IsInRole(Int32)

Bepaalt of de huidige principal deel uitmaakt van de Windows gebruikersgroep met de opgegeven relatieve id (RID).

IsInRole(SecurityIdentifier)

Bepaalt of de huidige principal deel uitmaakt van de Windows gebruikersgroep met de opgegeven beveiligings-id (SID).

IsInRole(String)

Bepaalt of de huidige principal deel uitmaakt van de Windows gebruikersgroep met de opgegeven naam.

IsInRole(WindowsBuiltInRole)

Bepaalt of de huidige principal deel uitmaakt van de Windows gebruikersgroep met de opgegeven WindowsBuiltInRole.

MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
WriteTo(BinaryWriter, Byte[])

Serialiseert met behulp van een BinaryWriter.

(Overgenomen van ClaimsPrincipal)
WriteTo(BinaryWriter)

Serialiseert met behulp van een BinaryWriter.

(Overgenomen van ClaimsPrincipal)

Van toepassing op