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 la 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 nombre managerOnlyButton con un valor de propiedad inicial Visible 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 aplicación cliente, ClientFormsAuthenticationMembershipProvider o establece ClientWindowsAuthenticationMembershipProvider la static Thread.CurrentPrincipal propiedad en una instancia de esta clase. ClientFormsAuthenticationMembershipProvider inicializa la Identity propiedad en una nueva instancia de la ClientFormsIdentity clase . ClientWindowsAuthenticationMembershipProvider Inicializa la Identity propiedad en el WindowsIdentity objeto devuelto por el static WindowsIdentity.GetCurrent() método .
Normalmente, no tendrá acceso a esta clase directamente. Normalmente, llamará al IsInRole método del IPrincipal devuelto por la static CurrentPrincipal propiedad . Sin embargo, puede convertir el valor de propiedad CurrentPrincipal en una ClientRolePrincipal referencia para llamar al IsInRole método explícitamente, 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 a ClientRolePrincipal. |
Métodos
| Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
| GetHashCode() |
Sirve como la 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 ClientRolePrincipal está incluido en el rol especificado. |
| MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |