System.Security.Principal.WindowsPrincipal.IsInRole Method

Determines whether the current principal belongs to the Windows user group with the specified security identifier (SID).

Syntax

[System.Runtime.InteropServices.ComVisible(false)]
public virtual bool IsInRole (SecurityIdentifier sid)

Parameters

sid
A System.Security.Principal.SecurityIdentifier that uniquely identifies a Windows user group.

Returns

true if the current principal is a member of the specified Windows user group; otherwise, false.

Remarks

The System.Security.Principal.SecurityIdentifier uniquely identifies a user or group on Windows 2000, Windows Server, and Windows XP implementations. 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. Not doing so can cause the erload:System.Security.Principal.WindowsPrincipal.IsInRole test to return false. This method is not supported on Windows 98 or Windows Millennium Edition.

Note:

In Windows Vista, User Account Control (UAC) determines the privileges of a user. 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. By default, you are in the standard user role. When you attempt to perform a task that requires administrative privileges, you can dynamically elevate your role by using the Consent dialog box. The code that executes the erload:System.Security.Principal.WindowsPrincipal.IsInRole method does not display the Consent dialog box. The code returns false if you are in the standard user role, even if you are in the Built-in Administrators group. 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.

For performance reasons, this is the preferable overload to determine a user's role.

Requirements

Namespace: System.Security.Principal
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 2.0.0.0, 4.0.0.0
Since: .NET 2.0