ClientRolePrincipal Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 static
Thread.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 static
WindowsIdentity.GetCurrent().
Normalmente no tendrá acceso a esta clase directamente. Normalmente, llamará al método IsInRole del IPrincipal devuelto por la propiedad static
CurrentPrincipal. 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) |