Share via


WindowsPrincipal Kelas

Definisi

Mengaktifkan kode untuk memeriksa keanggotaan grup Windows pengguna 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
Warisan
WindowsPrincipal
Warisan
WindowsPrincipal
Atribut
Penerapan

Contoh

Contoh berikut menunjukkan cara menggunakan IsInRole metode kelebihan beban. WindowsBuiltInRole Enumerasi digunakan sebagai sumber untuk pengidentifikasi relatif (RID) yang mengidentifikasi peran bawaan. RID digunakan untuk menentukan peran prinsipal saat ini.

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

Keterangan

Kelas WindowsPrincipal ini terutama digunakan untuk memeriksa peran pengguna Windows. Metode WindowsPrincipal.IsInRole kelebihan beban memungkinkan Anda memeriksa peran pengguna dengan menggunakan konteks peran yang berbeda.

Konstruktor

WindowsPrincipal(WindowsIdentity)

Menginisialisasi instans WindowsPrincipal baru kelas dengan menggunakan objek yang ditentukan WindowsIdentity .

Properti

Claims

Mendapatkan koleksi yang berisi semua klaim dari semua identitas klaim yang terkait dengan prinsip klaim ini.

(Diperoleh dari ClaimsPrincipal)
CustomSerializationData

Berisi data tambahan yang disediakan oleh jenis turunan. Biasanya diatur saat memanggil WriteTo(BinaryWriter, Byte[]).

(Diperoleh dari ClaimsPrincipal)
DeviceClaims

Mendapatkan semua klaim perangkat Windows dari prinsip ini.

Identities

Mendapatkan koleksi yang berisi semua identitas klaim yang terkait dengan prinsip klaim ini.

(Diperoleh dari ClaimsPrincipal)
Identity

Mendapatkan identitas prinsipal saat ini.

UserClaims

Mendapatkan semua klaim pengguna Windows dari prinsip ini.

Metode

AddIdentities(IEnumerable<ClaimsIdentity>)

Menambahkan identitas klaim yang ditentukan ke prinsip klaim ini.

(Diperoleh dari ClaimsPrincipal)
AddIdentity(ClaimsIdentity)

Menambahkan identitas klaim yang ditentukan ke prinsip klaim ini.

(Diperoleh dari ClaimsPrincipal)
Clone()

Mengembalikan salinan instans ini.

(Diperoleh dari ClaimsPrincipal)
CreateClaimsIdentity(BinaryReader)

Membuat identitas klaim baru.

(Diperoleh dari ClaimsPrincipal)
Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
FindAll(Predicate<Claim>)

Mengambil semua klaim yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsPrincipal)
FindAll(String)

Mengambil semua atau klaim yang memiliki jenis klaim yang ditentukan.

(Diperoleh dari ClaimsPrincipal)
FindFirst(Predicate<Claim>)

Mengambil klaim pertama yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsPrincipal)
FindFirst(String)

Mengambil klaim pertama dengan jenis klaim yang ditentukan.

(Diperoleh dari ClaimsPrincipal)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetObjectData(SerializationInfo, StreamingContext)

Mengisi dengan data yang SerializationInfo diperlukan untuk membuat serial objek saat ini ClaimsPrincipal .

(Diperoleh dari ClaimsPrincipal)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
HasClaim(Predicate<Claim>)

Menentukan apakah salah satu identitas klaim yang terkait dengan prinsip klaim ini berisi klaim yang cocok dengan predikat yang ditentukan.

(Diperoleh dari ClaimsPrincipal)
HasClaim(String, String)

Menentukan apakah salah satu identitas klaim yang terkait dengan prinsip klaim ini berisi klaim dengan jenis dan nilai klaim yang ditentukan.

(Diperoleh dari ClaimsPrincipal)
IsInRole(Int32)

Menentukan apakah prinsipal saat ini termasuk dalam grup pengguna Windows dengan pengidentifikasi relatif (RID) yang ditentukan.

IsInRole(SecurityIdentifier)

Menentukan apakah prinsipal saat ini termasuk dalam grup pengguna Windows dengan pengidentifikasi keamanan (SID) yang ditentukan.

IsInRole(String)

Menentukan apakah prinsipal saat ini termasuk dalam grup pengguna Windows dengan nama yang ditentukan.

IsInRole(WindowsBuiltInRole)

Menentukan apakah prinsipal saat ini termasuk dalam grup pengguna Windows dengan yang ditentukan WindowsBuiltInRole.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
WriteTo(BinaryWriter)

Menserialisasikan menggunakan BinaryWriter.

(Diperoleh dari ClaimsPrincipal)
WriteTo(BinaryWriter, Byte[])

Menserialisasikan menggunakan BinaryWriter.

(Diperoleh dari ClaimsPrincipal)

Berlaku untuk