WindowsPrincipal Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Kodun bir Windows kullanıcısının Windows grup üyeliğini denetlemesini sağlar.
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
- Devralma
- Devralma
-
WindowsPrincipal
- Öznitelikler
- Uygulamalar
Örnekler
Aşağıdaki örnekte yöntem aşırı yüklemelerinin IsInRole nasıl kullanılacağı gösterilmektedir. Sabit WindowsBuiltInRole listesi, yerleşik rolleri tanımlayan göreli tanımlayıcıların (RID) kaynağı olarak kullanılır. RID'ler geçerli sorumlunun rollerini belirlemek için kullanılır.
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
Açıklamalar
WindowsPrincipal sınıfı öncelikle bir Windows kullanıcısının rolünü denetlemek için kullanılır. Yöntemi WindowsPrincipal.IsInRole aşırı yüklemeleri, farklı rol bağlamları kullanarak kullanıcı rolünü denetlemenize olanak tanır.
Oluşturucular
WindowsPrincipal(WindowsIdentity) |
Belirtilen WindowsIdentity nesneyi kullanarak sınıfının yeni bir örneğini WindowsPrincipal başlatır. |
Özellikler
Claims |
Bu talep sorumlusuyla ilişkili tüm talep kimliklerinden tüm talepleri içeren bir koleksiyon alır. (Devralındığı yer: ClaimsPrincipal) |
CustomSerializationData |
Türetilmiş bir tür tarafından sağlanan ek verileri içerir. genellikle çağrılırken WriteTo(BinaryWriter, Byte[])ayarlanır. (Devralındığı yer: ClaimsPrincipal) |
DeviceClaims |
Bu sorumludan tüm Windows cihaz taleplerini alır. |
Identities |
Bu talep sorumlusuyla ilişkili tüm talep kimliklerini içeren bir koleksiyon alır. (Devralındığı yer: ClaimsPrincipal) |
Identity |
Geçerli sorumlunun kimliğini alır. |
UserClaims |
Bu sorumludan tüm Windows kullanıcı taleplerini alır. |
Yöntemler
AddIdentities(IEnumerable<ClaimsIdentity>) |
Belirtilen talep kimliklerini bu talep sorumlusuna ekler. (Devralındığı yer: ClaimsPrincipal) |
AddIdentity(ClaimsIdentity) |
Belirtilen talep kimliğini bu talep sorumlusuna ekler. (Devralındığı yer: ClaimsPrincipal) |
Clone() |
Bu örneğin bir kopyasını döndürür. (Devralındığı yer: ClaimsPrincipal) |
CreateClaimsIdentity(BinaryReader) |
Yeni bir talep kimliği oluşturur. (Devralındığı yer: ClaimsPrincipal) |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
FindAll(Predicate<Claim>) |
Belirtilen koşulla eşleşen tüm talepleri alır. (Devralındığı yer: ClaimsPrincipal) |
FindAll(String) |
Belirtilen talep türüne sahip tüm talepleri veya talepleri alır. (Devralındığı yer: ClaimsPrincipal) |
FindFirst(Predicate<Claim>) |
Belirtilen koşulla eşleşen ilk talebi alır. (Devralındığı yer: ClaimsPrincipal) |
FindFirst(String) |
Belirtilen talep türüne sahip ilk talebi alır. (Devralındığı yer: ClaimsPrincipal) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetObjectData(SerializationInfo, StreamingContext) |
SerializationInfo geçerli ClaimsPrincipal nesneyi seri hale getirmek için gereken verilerle doldurur. (Devralındığı yer: ClaimsPrincipal) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
HasClaim(Predicate<Claim>) |
Bu talep sorumlusuyla ilişkili talep kimliklerinden herhangi birinin belirtilen koşulla eşleşen bir talep içerip içermediğini belirler. (Devralındığı yer: ClaimsPrincipal) |
HasClaim(String, String) |
Bu talep sorumlusuyla ilişkili talep kimliklerinden herhangi birinin belirtilen talep türüne ve değerine sahip bir talep içerip içermediğini belirler. (Devralındığı yer: ClaimsPrincipal) |
IsInRole(Int32) |
Geçerli sorumlunun belirtilen göreli tanımlayıcıya (RID) sahip Windows kullanıcı grubuna ait olup olmadığını belirler. |
IsInRole(SecurityIdentifier) |
Geçerli sorumlunun belirtilen güvenlik tanımlayıcısına (SID) sahip Windows kullanıcı grubuna ait olup olmadığını belirler. |
IsInRole(String) |
Geçerli sorumlunun belirtilen ada sahip Windows kullanıcı grubuna ait olup olmadığını belirler. |
IsInRole(WindowsBuiltInRole) |
Geçerli sorumlunun belirtilen WindowsBuiltInRoleile Windows kullanıcı grubuna ait olup olmadığını belirler. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
WriteTo(BinaryWriter, Byte[]) |
kullanarak BinaryWriterseri hale getirmektedir. (Devralındığı yer: ClaimsPrincipal) |
WriteTo(BinaryWriter) |
kullanarak BinaryWriterseri hale getirmektedir. (Devralındığı yer: ClaimsPrincipal) |