Condividi tramite


ClientRolePrincipal Classe

Definizione

Rappresenta le informazioni di sicurezza per i servizi dell'applicazione client, che includono informazioni sul ruolo.

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
Ereditarietà
ClientRolePrincipal
Implementazioni

Esempio

Il codice di esempio seguente illustra come usare questa classe per visualizzare un pulsante solo quando l'utente si trova nel ruolo "manager". Questo esempio richiede un Button denominato managerOnlyButton con un valore iniziale della proprietà Visible di 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

Commenti

Quando si convalida un utente nei servizi dell'applicazione client, il ClientFormsAuthenticationMembershipProvider o il ClientWindowsAuthenticationMembershipProvider imposta la proprietà staticThread.CurrentPrincipal su un'istanza di questa classe. Il ClientFormsAuthenticationMembershipProvider inizializza la proprietà Identity in una nuova istanza della classe ClientFormsIdentity. Il ClientWindowsAuthenticationMembershipProvider inizializza la proprietà Identity sull'oggetto WindowsIdentity restituito dal metodo staticWindowsIdentity.GetCurrent().

In genere non si accede direttamente a questa classe. In genere, si chiamerà il metodo IsInRole del IPrincipal restituito dalla proprietà staticCurrentPrincipal. Tuttavia, è possibile eseguire il cast del valore della proprietà CurrentPrincipal a un riferimento ClientRolePrincipal per chiamare il metodo IsInRole in modo esplicito, come illustrato nella sezione Example.

Costruttori

ClientRolePrincipal(IIdentity)

Inizializza una nuova istanza della classe ClientRolePrincipal.

Proprietà

Identity

Ottiene l'identità di sicurezza associata al ClientRolePrincipal.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsInRole(String)

Ottiene un valore che indica se l'utente rappresentato dal ClientRolePrincipal si trova nel ruolo specificato.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche