WindowsPrincipal Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Umožňuje kódu zkontrolovat členství uživatele systému Windows ve skupině.
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
- Dědičnost
- Dědičnost
-
WindowsPrincipal
- Atributy
- Implementuje
Příklady
Následující příklad ukazuje, jak používat IsInRole přetížení metody. Výčet se WindowsBuiltInRole používá jako zdroj relativních identifikátorů (RID), které identifikují předdefinované role. Identifikátory RID se používají k určení rolí aktuálního objektu zabezpečení.
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
Poznámky
Třída se WindowsPrincipal primárně používá ke kontrole role uživatele systému Windows. Přetížení WindowsPrincipal.IsInRole metody umožňuje zkontrolovat roli uživatele pomocí různých kontextů rolí.
Konstruktory
WindowsPrincipal(WindowsIdentity) |
Inicializuje novou instanci WindowsPrincipal třídy pomocí zadaného WindowsIdentity objektu. |
Vlastnosti
Claims |
Získá kolekci, která obsahuje všechny deklarace identity ze všech identit deklarací identity přidružené k tomuto objektu deklarací identity. (Zděděno od ClaimsPrincipal) |
CustomSerializationData |
Obsahuje všechna další data poskytnutá odvozeným typem. Obvykle se nastavuje při volání WriteTo(BinaryWriter, Byte[]). (Zděděno od ClaimsPrincipal) |
DeviceClaims |
Získá všechny deklarace identity zařízení s Windows z tohoto objektu zabezpečení. |
Identities |
Získá kolekci, která obsahuje všechny identity deklarací identity přidružené k tomuto objektu zabezpečení deklarací identity. (Zděděno od ClaimsPrincipal) |
Identity |
Získá identitu aktuálního objektu zabezpečení. |
UserClaims |
Získá všechny deklarace identity uživatele systému Windows z tohoto objektu zabezpečení. |
Metody
AddIdentities(IEnumerable<ClaimsIdentity>) |
Přidá zadané identity deklarací identity do tohoto objektu deklarací identity. (Zděděno od ClaimsPrincipal) |
AddIdentity(ClaimsIdentity) |
Přidá do tohoto objektu deklarací identity zadanou identitu deklarací identity. (Zděděno od ClaimsPrincipal) |
Clone() |
Vrátí kopii této instance. (Zděděno od ClaimsPrincipal) |
CreateClaimsIdentity(BinaryReader) |
Vytvoří novou identitu deklarací identity. (Zděděno od ClaimsPrincipal) |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
FindAll(Predicate<Claim>) |
Načte všechny deklarace identity, které odpovídají zadanému predikátu. (Zděděno od ClaimsPrincipal) |
FindAll(String) |
Načte všechny nebo deklarace identity, které mají zadaný typ deklarace identity. (Zděděno od ClaimsPrincipal) |
FindFirst(Predicate<Claim>) |
Načte první deklaraci identity odpovídající zadanému predikátu. (Zděděno od ClaimsPrincipal) |
FindFirst(String) |
Načte první deklaraci identity se zadaným typem deklarace identity. (Zděděno od ClaimsPrincipal) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Naplní SerializationInfo data potřebná k serializaci aktuálního ClaimsPrincipal objektu. (Zděděno od ClaimsPrincipal) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
HasClaim(Predicate<Claim>) |
Určuje, zda některá z identit deklarací přidružených k tomuto objektu deklarací identity obsahuje deklaraci identity, která odpovídá zadanému predikátu. (Zděděno od ClaimsPrincipal) |
HasClaim(String, String) |
Určuje, jestli některá z identit deklarací identity přidružených k tomuto objektu deklarací identity obsahuje deklaraci identity se zadaným typem a hodnotou deklarace identity. (Zděděno od ClaimsPrincipal) |
IsInRole(Int32) |
Určuje, zda aktuální objekt zabezpečení patří do skupiny uživatelů systému Windows se zadaným relativním identifikátorem (RID). |
IsInRole(SecurityIdentifier) |
Určuje, zda aktuální objekt zabezpečení patří do skupiny uživatelů systému Windows se zadaným identifikátorem zabezpečení (SID). |
IsInRole(String) |
Určuje, zda aktuální objekt zabezpečení patří do skupiny uživatelů systému Windows se zadaným názvem. |
IsInRole(WindowsBuiltInRole) |
Určuje, zda aktuální objekt zabezpečení patří do skupiny uživatelů systému Windows se zadaným WindowsBuiltInRoleobjektem . |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
WriteTo(BinaryWriter) |
Serializuje pomocí .BinaryWriter (Zděděno od ClaimsPrincipal) |
WriteTo(BinaryWriter, Byte[]) |
Serializuje pomocí .BinaryWriter (Zděděno od ClaimsPrincipal) |