WindowsPrincipal.IsInRole WindowsPrincipal.IsInRole WindowsPrincipal.IsInRole WindowsPrincipal.IsInRole Method

Tanım

Geçerli sorumlunun belirtilen bir Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to a specified Windows user group.

Aşırı Yüklemeler

IsInRole(Int32) IsInRole(Int32) IsInRole(Int32) IsInRole(Int32)

Geçerli sorumlunun belirtilen göreli tanımlayıcı (RID) ile Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier)

Geçerli sorumlunun belirtilen güvenlik tanımlayıcısı (SID) ile Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole)

Geçerli sorumlunun, belirtilen WindowsBuiltInRoleWindows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

IsInRole(String) IsInRole(String) IsInRole(String) IsInRole(String)

Geçerli sorumlunun belirtilen adı taşıyan Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified name.

Açıklamalar

Bu yöntem için dört aşırı yükleme vardır.There are four overloads for this method. Performans nedenleriyle IsInRole(SecurityIdentifier) aşırı yükleme kesinlikle önerilir.For performance reasons, the IsInRole(SecurityIdentifier) overload is strongly recommended.

Önemli

IsInRole Yöntemi Windows 98 veya Windows Millennium Edition 'da desteklenmez.The IsInRole method is not supported on Windows 98 or Windows Millennium Edition.

IsInRole(Int32) IsInRole(Int32) IsInRole(Int32) IsInRole(Int32)

Geçerli sorumlunun belirtilen göreli tanımlayıcı (RID) ile Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified relative identifier (RID).

public:
 virtual bool IsInRole(int rid);
public virtual bool IsInRole (int rid);
override this.IsInRole : int -> bool
Public Overridable Function IsInRole (rid As Integer) As Boolean

Parametreler

rid
Int32 Int32 Int32 Int32

Sorumlu üyelik durumunun denetlenecek Windows Kullanıcı grubunun RID 'si.The RID of the Windows user group in which to check for the principal's membership status.

Döndürülenler

truegeçerli sorumlu, belirtilen Windows Kullanıcı grubunun bir üyesi ise, belirli bir roldür; Aksi takdirde false,.true if the current principal is a member of the specified Windows user group, that is, in a particular role; otherwise, false.

Örnekler

Aşağıdaki kod örneği, IsInRole yöntemlerinin kullanımını gösterir.The following code example demonstrates the use of the IsInRole methods. WindowsBuiltInRole Numaralandırma, yerleşik rolleri tanımlayan RID 'ler için kaynak olarak kullanılır.The WindowsBuiltInRole enumeration is used as the source for the RIDs that identify the built-in roles. RID 'Ler, geçerli sorumlunun rollerini belirlemede kullanılır.The RIDs are used to determine the roles of the current principal.

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

Yeni bir kullanıcı veya yeni bir grup gibi yeni oluşturulan rol bilgileri için test edilirken, etki alanı içinde rol bilgilerinin yayılmasını zorlamak için oturumu kapatıp açmanız önemlidir.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. Aksi takdirde IsInRole testin dönüşmesine falseneden olabilir.Not doing so can cause the IsInRole test to return false. Bu yöntem Windows 98 veya Windows Millennium Edition 'da desteklenmez.This method is not supported on Windows 98 or Windows Millennium Edition.

Performans nedenleriyle, IsInRole(SecurityIdentifier) aşırı yükleme kullanıcı rolünü belirlemek için tercih edilen aşırı yükleme olarak önerilir.For performance reasons, the IsInRole(SecurityIdentifier) overload is recommended as the preferable overload for determining the user's role.

Not

Windows Vista 'da, Kullanıcı hesabı denetimi (UAC) bir kullanıcının ayrıcalıklarını belirler.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci.If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. Varsayılan olarak, standart kullanıcı rolünde olursunuz.By default, you are in the standard user role. Yönetici ayrıcalıkları gerektiren bir görevi gerçekleştirmeye çalıştığınızda, Izin iletişim kutusunu kullanarak rolünüzü dinamik olarak yükselde olursunuz.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. IsInRole Yöntemi yürüten kod, onay iletişim kutusunu görüntülemez.The code that executes the IsInRole method does not display the Consent dialog box. Kod, yerleşik Yöneticiler grubunda olsanız bile standart Kullanıcı rolünüzde ise false değerini döndürür.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Kodu yürütmeden önce, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek, ayrıcalıklarınızı yükseltebilir.You can elevate your privileges before you execute the code by right-clicking the application icon and indicating that you want to run as an administrator.

Göreli tanımlayıcılar (RID 'Ler) bir Windows Kullanıcı grubunun güvenlik tanımlayıcısının (SID) bileşenleridir ve platformlar arası yerelleştirme sorunlarını önlemeye yardımcı olmak için desteklenir.Relative identifiers (RIDs) are components of a Windows user group's security identifier (SID) and are supported to help prevent cross-platform localization issues. Birçok kullanıcı hesabı, yerel grup ve genel grup, tüm Windows sürümlerinde sabit olan varsayılan bir RID değerine sahiptir.Many user accounts, local groups, and global groups have a default RID value that is constant across all versions of Windows.

Örneğin, buıltın\administrators rolü için RID 0x220 ' dır.For example, the RID for the BUILTIN\Administrators role is 0x220. IsInRole Yöntem için giriş parametresi olarak 0x220 kullanılması, geçerli asıl yönetici true ise döndürüldüğünden oluşur.Using 0x220 as the input parameter for the IsInRole method results in true being returned if the current principal is an administrator.

Aşağıdaki tablolar varsayılan RID değerlerini listeler.The following tables list the default RID values.

Yerleşik kullanıcılarBuilt-in users RIDRID
EtkiAlanıAdı yöneticiDOMAINNAME\Administrator 0x1F40x1F4
EtkiAlanıAdı KonukDOMAINNAME\Guest 0x1F50x1F5
Yerleşik genel gruplarBuilt-in global groups RIDRID
Etkialanı \ etki alanı yöneticileriDOMAINNAME\Domain Admins 0x2000x200
Etkialanı \ Kullanıcı etki alanı kullanıcılarıDOMAINNAME\Domain Users 0x2010x201
Etkialanı \ etki alanı konuklarıDOMAINNAME\Domain Guests 0x2020x202
Yerleşik yerel gruplarBuilt-in local groups RIDRID
BUILTIN\AdministratorsBUILTIN\Administrators 0x2200x220
BUILTIN\UsersBUILTIN\Users 0x2210x221
Buılte konuklarıBUILTIN\Guests 0x2220x222
Buılaccount IşleçleriBUILTIN\Account Operators 0x2240x224
Buılte sunucu IşleçleriBUILTIN\Server Operators 0x2250x225
Buılte yazdırma IşleçleriBUILTIN\Print Operators 0x2260x226
BUILTIN\Backup IşleçleriBUILTIN\Backup Operators 0x2270x227
BuılreplicatorBUILTIN\Replicator 0x2280x228

IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier) IsInRole(SecurityIdentifier)

Geçerli sorumlunun belirtilen güvenlik tanımlayıcısı (SID) ile Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

public:
 virtual bool IsInRole(System::Security::Principal::SecurityIdentifier ^ sid);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual bool IsInRole (System.Security.Principal.SecurityIdentifier sid);
override this.IsInRole : System.Security.Principal.SecurityIdentifier -> bool
Public Overridable Function IsInRole (sid As SecurityIdentifier) As Boolean

Parametreler

sid
SecurityIdentifier SecurityIdentifier SecurityIdentifier SecurityIdentifier

Bir SecurityIdentifier Windows kullanıcı grubunu benzersiz bir şekilde tanımlayan bir.A SecurityIdentifier that uniquely identifies a Windows user group.

Döndürülenler

truegeçerli asıl, belirtilen Windows Kullanıcı grubunun bir üyesiyse; Aksi takdirde false,.true if the current principal is a member of the specified Windows user group; otherwise, false.

Özel Durumlar

Windows bir Win32 hatası döndürdü.Windows returned a Win32 error.

Örnekler

Aşağıdaki kod örneği, WindowsPrincipal.IsInRole(SecurityIdentifier) yönteminin kullanımını gösterir.The following code example demonstrates the use of the WindowsPrincipal.IsInRole(SecurityIdentifier) method. BuiltinAdministratorsSid Sabit listesi değeri, geçerli sorumlunun yönetici olup olmadığını belirlemekte kullanılır.The BuiltinAdministratorsSid enumeration value is used to determine whether the current principal is an administrator. Tam kod örneği için WindowsPrincipal.IsInRole(Int32) yöntemine bakın.For the full code example, see the WindowsPrincipal.IsInRole(Int32) method.

// Get the role using the WellKnownSidType.
SecurityIdentifier sid = new SecurityIdentifier(WellKnownSidType.BuiltinAdministratorsSid, null);
Console.WriteLine("WellKnownSidType BuiltinAdministratorsSid  {0}? {1}.", sid.Value, myPrincipal.IsInRole(sid));
    ' 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

Açıklamalar

Windows 2000, Windows Server ve Windows XP uygulamalarında bir kullanıcıyı veya grubu benzersizolaraktanımlar.SecurityIdentifierThe SecurityIdentifier uniquely identifies a user or group on Windows 2000, Windows Server, and Windows XP implementations. Yeni bir kullanıcı veya yeni bir grup gibi yeni oluşturulan rol bilgileri için test edilirken, etki alanı içinde rol bilgilerinin yayılmasını zorlamak için oturumu kapatıp açmanız önemlidir.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. Aksi takdirde IsInRole testin dönüşmesine falseneden olabilir.Not doing so can cause the IsInRole test to return false. Bu yöntem Windows 98 veya Windows Millennium Edition 'da desteklenmez.This method is not supported on Windows 98 or Windows Millennium Edition.

Not

Windows Vista 'da, Kullanıcı hesabı denetimi (UAC) bir kullanıcının ayrıcalıklarını belirler.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci.If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. Varsayılan olarak, standart kullanıcı rolünde olursunuz.By default, you are in the standard user role. Yönetici ayrıcalıkları gerektiren bir görevi gerçekleştirmeye çalıştığınızda, Izin iletişim kutusunu kullanarak rolünüzü dinamik olarak yükselde olursunuz.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. IsInRole Yöntemi yürüten kod, onay iletişim kutusunu görüntülemez.The code that executes the IsInRole method does not display the Consent dialog box. Kod, yerleşik Yöneticiler grubunda olsanız bile standart Kullanıcı rolünüzde ise false değerini döndürür.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Kodu yürütmeden önce, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek, ayrıcalıklarınızı yükseltebilir.You can elevate your privileges before you execute the code by right-clicking the application icon and indicating that you want to run as an administrator.

Performans nedenleriyle, bir kullanıcının rolünü belirlemede bu aşırı yükleme tercih edilir.For performance reasons, this is the preferable overload to determine a user's role.

IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole) IsInRole(WindowsBuiltInRole)

Geçerli sorumlunun, belirtilen WindowsBuiltInRoleWindows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified WindowsBuiltInRole.

public:
 virtual bool IsInRole(System::Security::Principal::WindowsBuiltInRole role);
public virtual bool IsInRole (System.Security.Principal.WindowsBuiltInRole role);
override this.IsInRole : System.Security.Principal.WindowsBuiltInRole -> bool
Public Overridable Function IsInRole (role As WindowsBuiltInRole) As Boolean

Parametreler

Döndürülenler

truegeçerli asıl, belirtilen Windows Kullanıcı grubunun bir üyesiyse; Aksi takdirde false,.true if the current principal is a member of the specified Windows user group; otherwise, false.

Özel Durumlar

Örnekler

Aşağıdaki örnek, geçerli sorumlunun bir WindowsBuiltInRole Administratorolup olmadığını belirlemekte kullanılan sabit listesini kullanır.The following example uses the WindowsBuiltInRole enumeration is used to determine whether the current principal is an Administrator. Tam kod örneği için WindowsPrincipal.IsInRole(Int32) yöntemine bakın.For the full code example, see the WindowsPrincipal.IsInRole(Int32) method.

// Get the role using the WindowsBuiltInRole enumeration value.
Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator,
   myPrincipal.IsInRole(WindowsBuiltInRole.Administrator));
' Get the role using the WindowsBuiltInRole enumeration value.
Console.WriteLine("{0}? {1}.", WindowsBuiltInRole.Administrator, myPrincipal.IsInRole(WindowsBuiltInRole.Administrator))

Açıklamalar

Yeni bir kullanıcı veya yeni bir grup gibi yeni oluşturulan rol bilgileri için test edilirken, etki alanı içinde rol bilgilerinin yayılmasını zorlamak için oturumu kapatıp açmanız önemlidir.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. Aksi takdirde IsInRole testin dönüşmesine falseneden olabilir.Not doing so can cause the IsInRole test to return false. Bu yöntem Windows 98 veya Windows Millennium Edition 'da desteklenmez.This method is not supported on Windows 98 or Windows Millennium Edition.

Performans nedenleriyle, IsInRole(SecurityIdentifier) aşırı yükleme kullanıcı rolünü belirlemek için tercih edilen aşırı yükleme olarak önerilir.For performance reasons, the IsInRole(SecurityIdentifier) overload is recommended as the preferable overload for determining the user's role.

Not

Windows Vista 'da, Kullanıcı hesabı denetimi (UAC) bir kullanıcının ayrıcalıklarını belirler.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci.If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. Varsayılan olarak, standart kullanıcı rolünde olursunuz.By default, you are in the standard user role. Yönetici ayrıcalıkları gerektiren bir görevi gerçekleştirmeye çalıştığınızda, Izin iletişim kutusunu kullanarak rolünüzü dinamik olarak yükselde olursunuz.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. IsInRole Yöntemi yürüten kod, onay iletişim kutusunu görüntülemez.The code that executes the IsInRole method does not display the Consent dialog box. Kod, yerleşik Yöneticiler grubunda olsanız bile standart Kullanıcı rolünüzde ise false değerini döndürür.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Kodu yürütmeden önce, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek, ayrıcalıklarınızı yükseltebilir.You can elevate your privileges before you execute the code by right-clicking the application icon and indicating that you want to run as an administrator.

IsInRole(String) IsInRole(String) IsInRole(String) IsInRole(String)

Geçerli sorumlunun belirtilen adı taşıyan Windows kullanıcı grubuna ait olup olmadığını belirler.Determines whether the current principal belongs to the Windows user group with the specified name.

public:
 virtual bool IsInRole(System::String ^ role);
public virtual bool IsInRole (string role);
override this.IsInRole : string -> bool
Public Overridable Function IsInRole (role As String) As Boolean

Parametreler

role
String String String String

Üyeliği denetlenecek Windows Kullanıcı grubunun adı.The name of the Windows user group for which to check membership.

Döndürülenler

truegeçerli asıl, belirtilen Windows Kullanıcı grubunun bir üyesiyse; Aksi takdirde false,.true if the current principal is a member of the specified Windows user group; otherwise, false.

Örnekler

Aşağıdaki kod örneği, WindowsPrincipal.IsInRole(String) yönteminin kullanımını gösterir.The following code example demonstrates the use of the WindowsPrincipal.IsInRole(String) method.

Dizeler BUILTIN\Administrators veBUILTIN\Users geçerli sorumlunun yönetici veya Kullanıcı olup olmadığını belirlemede kullanılır.The strings BUILTIN\Administrators and BUILTIN\Users are used to determine whether the current principal is an administrator or a user. Tam kod örneği için WindowsPrincipal.IsInRole(Int32) yöntemine bakın.For the full code example, see the WindowsPrincipal.IsInRole(Int32) method.

// 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 string value of the role.
Console.WriteLine("{0}? {1}.", "Administrators", myPrincipal.IsInRole("BUILTIN\" + "Administrators"))
Console.WriteLine("{0}? {1}.", "Users", myPrincipal.IsInRole("BUILTIN\" + "Users"))

Açıklamalar

Yeni bir kullanıcı veya yeni bir grup gibi yeni oluşturulan rol bilgileri için test edilirken, etki alanı içinde rol bilgilerinin yayılmasını zorlamak için oturumu kapatıp açmanız önemlidir.When testing for newly created role information, such as a new user or a new group, it is important to log out and log in to force the propagation of role information within the domain. Aksi takdirde IsInRole testin dönüşmesine falseneden olabilir.Not doing so can cause the IsInRole test to return false. Bu yöntem Windows 98 veya Windows Millennium Edition 'da desteklenmez.This method is not supported on Windows 98 or Windows Millennium Edition.

Performans nedenleriyle, IsInRole(SecurityIdentifier) aşırı yükleme kullanıcı rolünü belirlemek için tercih edilen aşırı yükleme olarak önerilir.For performance reasons, the IsInRole(SecurityIdentifier) overload is recommended as the preferable overload for determining the user's role.

Not

Windows Vista 'da, Kullanıcı hesabı denetimi (UAC) bir kullanıcının ayrıcalıklarını belirler.In Windows Vista, User Account Control (UAC) determines the privileges of a user. Yerleşik Yöneticiler grubunun bir üyesi iseniz, size iki çalışma zamanı erişim belirteci atanır: Standart kullanıcı erişim belirteci ve yönetici erişim belirteci.If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. Varsayılan olarak, standart kullanıcı rolünde olursunuz.By default, you are in the standard user role. Yönetici ayrıcalıkları gerektiren bir görevi gerçekleştirmeye çalıştığınızda, Izin iletişim kutusunu kullanarak rolünüzü dinamik olarak yükselde olursunuz.When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. IsInRole Yöntemi yürüten kod, onay iletişim kutusunu görüntülemez.The code that executes the IsInRole method does not display the Consent dialog box. Kod, yerleşik Yöneticiler grubunda olsanız bile standart Kullanıcı rolünüzde ise false değerini döndürür.The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. Kodu yürütmeden önce, uygulama simgesine sağ tıklayıp yönetici olarak çalıştırmak istediğinizi belirterek, ayrıcalıklarınızı yükseltebilir.You can elevate your privileges before you execute the code by right-clicking the application icon and indicating that you want to run as an administrator.

Yerleşik roller için, role dize "BUıLTıN**\RoleNameHere" biçiminde olmalıdır.For built-in roles, the role string should be in the form "BUILTIN\RoleNameHere". Örneğin, Windows yönetici rolünde üyeliği test etmek için, rolü temsil eden dize "BUILTIN\Administrators" olmalıdır.For example, to test for membership in the Windows administrator role, the string representing the role should be "BUILTIN\Administrators". Ters eğik çizginin kaçılması gerekebileceğini unutmayın.Note that the backslash might need to be escaped. Aşağıdaki tabloda yerleşik roller listelenmektedir.The following table lists the built-in roles.

Not

Dize biçimindeki yerleşik rollerin yazımı, WindowsBuiltInRole numaralandırmada kullanılan yazımla farklılık gösterir.The spelling for the BUILTIN roles in string format differs from the spelling used in the WindowsBuiltInRole enumeration. Örneğin, Numaralandırmadaki bir yöneticinin yazımı "Yöneticiler" değil "Yönetici" dir.For example, the spelling for an administrator in the enumeration is "Administrator", not "Administrators". Bu aşırı yüklemeyi kullanırken, aşağıdaki tablodaki rol için yazımı kullanın.When using this overload, use the spelling for the role from the following table.

Yerleşik yerel gruplarBuilt-in local groups
BUILTIN\AdministratorsBUILTIN\Administrators
BUILTIN\UsersBUILTIN\Users
Buılte konuklarıBUILTIN\Guests
Buılaccount IşleçleriBUILTIN\Account Operators
Buılte sunucu IşleçleriBUILTIN\Server Operators
Buılte yazdırma IşleçleriBUILTIN\Print Operators
BUILTIN\Backup IşleçleriBUILTIN\Backup Operators
BuılreplicatorBUILTIN\Replicator

Makineye özgü roller için, role dize "MachineName**\RoleNameHere" biçiminde olmalıdır.For machine-specific roles, the role string should be in the form "MachineName\RoleNameHere".

Etki alanına özgü roller için, role dize "DomainName** "SomeDomain\Domain Users\RoleNameHere" biçiminde olmalıdır; örneğin, ".For domain-specific roles, the role string should be in the form "DomainName\RoleNameHere"; for example, "SomeDomain\Domain Users".

Not

.NET Framework sürüm 1,0 ' de, role parametre büyük/küçük harfe duyarlıdır.In the .NET Framework version 1.0, the role parameter is case-sensitive. .NET Framework sürüm 1,1 ve sonrasında role parametre büyük/küçük harfe duyarlıdır.In the .NET Framework version 1.1 and later, the role parameter is case-insensitive.

Güvenlik

SecurityPermission
asıl nesneyi işleyebilme olanağı.for the ability to manipulate the principal object. İlişkili numaralandırma:ControlPrincipalAssociated enumeration: ControlPrincipal

Ayrıca bkz.

Şunlara uygulanır