Comparteix a través de


ClientRolePrincipal Clase

Definición

Representa información de seguridad para los servicios de aplicación cliente, que incluye información de roles.

public ref class ClientRolePrincipal : System::Security::Principal::IPrincipal
public class ClientRolePrincipal : System.Security.Principal.IPrincipal
type ClientRolePrincipal = class
    interface IPrincipal
Public Class ClientRolePrincipal
Implements IPrincipal
Herencia
ClientRolePrincipal
Implementaciones

Ejemplos

En el código de ejemplo siguiente se muestra cómo usar esta clase para mostrar un botón solo cuando el usuario está en el rol "administrador". En este ejemplo se requiere un Button denominado managerOnlyButton con un valor de propiedad de Visible inicial de 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

Comentarios

Al validar un usuario en los servicios de aplicaciones cliente, el ClientFormsAuthenticationMembershipProvider o el ClientWindowsAuthenticationMembershipProvider establece la propiedad staticThread.CurrentPrincipal en una instancia de esta clase. El ClientFormsAuthenticationMembershipProvider inicializa la propiedad Identity en una nueva instancia de la clase ClientFormsIdentity. El ClientWindowsAuthenticationMembershipProvider inicializa la propiedad Identity en el objeto WindowsIdentity devuelto por el método staticWindowsIdentity.GetCurrent().

Normalmente no tendrá acceso a esta clase directamente. Normalmente, llamará al método IsInRole del IPrincipal devuelto por la propiedad staticCurrentPrincipal. Sin embargo, puede convertir el valor de la propiedad CurrentPrincipal en una referencia de ClientRolePrincipal para llamar explícitamente al método IsInRole, como se muestra en la sección Ejemplo.

Constructores

ClientRolePrincipal(IIdentity)

Inicializa una nueva instancia de la clase ClientRolePrincipal.

Propiedades

Identity

Obtiene la identidad de seguridad asociada al ClientRolePrincipal.

Métodos

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsInRole(String)

Obtiene un valor que indica si el usuario representado por el ClientRolePrincipal está en el rol especificado.

MemberwiseClone()

Crea una copia superficial del Objectactual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también