WindowsPrincipal Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Consente al codice di verificare se un utente Windows appartiene a un gruppo 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
- Ereditarietà
- Ereditarietà
-
WindowsPrincipal
- Attributi
- Implementazioni
Esempio
Nell'esempio seguente viene illustrato come usare gli overload del IsInRole metodo. L'enumerazione WindowsBuiltInRole viene usata come origine per gli identificatori relativi (RID) che identificano i ruoli predefiniti. I RID vengono usati per determinare i ruoli dell'entità corrente.
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
Commenti
La WindowsPrincipal classe viene usata principalmente per controllare il ruolo di un utente di Windows. Gli overload del WindowsPrincipal.IsInRole metodo consentono di controllare il ruolo utente usando contesti di ruolo diversi.
Costruttori
WindowsPrincipal(WindowsIdentity) |
Inizializza una nuova istanza della classe WindowsPrincipal usando l'oggetto WindowsIdentity specificato. |
Proprietà
Claims |
Ottiene una raccolta che contiene tutte le attestazioni da tutte le identità di attestazioni associate all'entità delle attestazioni. (Ereditato da ClaimsPrincipal) |
CustomSerializationData |
Contiene i dati aggiuntivi forniti da un tipo derivato. Generalmente impostato durante la chiamata a WriteTo(BinaryWriter, Byte[]). (Ereditato da ClaimsPrincipal) |
DeviceClaims |
Ottiene tutte le attestazioni di dispositivi di Windows da questa entità. |
Identities |
Ottiene una raccolta che contiene tutte le identità delle attestazioni associate a questa entità attestazioni. (Ereditato da ClaimsPrincipal) |
Identity |
Ottiene l'identità dell'oggetto Principal corrente. |
UserClaims |
Ottiene tutte le attestazioni di utenti di Windows da questa entità. |
Metodi
AddIdentities(IEnumerable<ClaimsIdentity>) |
Aggiunge le identità delle attestazioni specificate a questa entità delle attestazioni. (Ereditato da ClaimsPrincipal) |
AddIdentity(ClaimsIdentity) |
Aggiunge le identità delle attestazioni specificate a questa entità delle attestazioni. (Ereditato da ClaimsPrincipal) |
Clone() |
Restituisce una copia dell'istanza corrente. (Ereditato da ClaimsPrincipal) |
CreateClaimsIdentity(BinaryReader) |
Crea una nuova identità delle attestazioni. (Ereditato da ClaimsPrincipal) |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FindAll(Predicate<Claim>) |
Recupera tutte le attestazioni che corrispondono al predicato specificato. (Ereditato da ClaimsPrincipal) |
FindAll(String) |
Recupera tutte le attestazioni che hanno il tipo di attestazione specificato. (Ereditato da ClaimsPrincipal) |
FindFirst(Predicate<Claim>) |
Recupera la prima attestazione che corrisponde al predicato specificato. (Ereditato da ClaimsPrincipal) |
FindFirst(String) |
Recupera la prima attestazione con il tipo di attestazione specificato. (Ereditato da ClaimsPrincipal) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetObjectData(SerializationInfo, StreamingContext) |
Popola l'oggetto SerializationInfo con i dati necessari per serializzare l'oggetto ClaimsPrincipal corrente. (Ereditato da ClaimsPrincipal) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HasClaim(Predicate<Claim>) |
Determina se una qualsiasi delle identità di attestazione associate all'entità delle attestazioni contiene un'attestazione a cui corrisponde il predicato specificato. (Ereditato da ClaimsPrincipal) |
HasClaim(String, String) |
Determina se una qualsiasi delle identità di attestazione associate all'entità delle attestazioni contiene un'attestazione con il tipo e il valore specificati. (Ereditato da ClaimsPrincipal) |
IsInRole(Int32) |
Determina se l'oggetto Principal corrente appartiene al gruppo di utenti Windows con l'identificatore relativo (RID) specificato. |
IsInRole(SecurityIdentifier) |
Determina se l'entità corrente appartiene al gruppo di utenti Windows con l'identificatore di sicurezza (SID) specificato. |
IsInRole(String) |
Determina se l'entità corrente appartiene al gruppo di utenti Windows con il nome specificato. |
IsInRole(WindowsBuiltInRole) |
Determina se l'entità corrente appartiene al gruppo di utenti Windows con il nome specificato WindowsBuiltInRole. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
WriteTo(BinaryWriter) |
Esegue la serializzazione usando BinaryWriter. (Ereditato da ClaimsPrincipal) |
WriteTo(BinaryWriter, Byte[]) |
Esegue la serializzazione usando BinaryWriter. (Ereditato da ClaimsPrincipal) |