ClientRolePrincipal Class

Definition

Represents security information for client application services, which includes role information.

public class ClientRolePrincipal : System.Security.Principal.IPrincipal
Inheritance
ClientRolePrincipal
Implements

Examples

The following example code demonstrates how to use this class to display a button only when the user is in the "manager" role. This example requires a Button named managerOnlyButton with an initial Visible property value of false.

private void DisplayButtonForManagerRole()
{
    try
    {
        ClientRolePrincipal rolePrincipal =
            System.Threading.Thread.CurrentPrincipal 
            as ClientRolePrincipal;

        if (rolePrincipal != null && rolePrincipal.IsInRole("manager"))
        {
            managerOnlyButton.Visible = true;
        }
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the roles service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
}
Private Sub DisplayButtonForManagerRole()

    Try

        Dim rolePrincipal As ClientRolePrincipal = TryCast( _
            System.Threading.Thread.CurrentPrincipal, ClientRolePrincipal)

        If rolePrincipal IsNot Nothing And _
            rolePrincipal.IsInRole("manager") Then

            managerOnlyButton.Visible = True

        End If

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the role service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

End Sub

Remarks

When you validate a user in client application services, the ClientFormsAuthenticationMembershipProvider or the ClientWindowsAuthenticationMembershipProvider sets the static Thread.CurrentPrincipal property to an instance of this class. The ClientFormsAuthenticationMembershipProvider initializes the Identity property to a new instance of the ClientFormsIdentity class. The ClientWindowsAuthenticationMembershipProvider initializes the Identity property to the WindowsIdentity object returned by the static WindowsIdentity.GetCurrent() method.

You will not typically access this class directly. Normally, you will call the IsInRole method of the IPrincipal returned by the static CurrentPrincipal property. However, you can cast the CurrentPrincipal property value to a ClientRolePrincipal reference to call the IsInRole method explicitly, as demonstrated in the Example section.

Constructors

ClientRolePrincipal(IIdentity)

Initializes a new instance of the ClientRolePrincipal class.

Properties

Identity

Gets the security identity associated with the ClientRolePrincipal.

Methods

IsInRole(String)

Gets a value indicating whether the user represented by the ClientRolePrincipal is in the specified role.

Equals(Object) Inherited from Object
Equals(Object, Object) Inherited from Object
GetHashCode() Inherited from Object
GetType() Inherited from Object
MemberwiseClone() Inherited from Object
ReferenceEquals(Object, Object) Inherited from Object
ToString() Inherited from Object

Applies to

See Also