Sdílet prostřednictvím


ClientRolePrincipal Třída

Definice

Představuje informace o zabezpečení klientských aplikačních služeb, které zahrnují informace o rolích.

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
Dědičnost
ClientRolePrincipal
Implementuje

Příklady

Následující příklad kódu ukazuje, jak použít tuto třídu k zobrazení tlačítka pouze v případě, že uživatel je v roli "správce". Tento příklad vyžaduje Button pojmenovanou managerOnlyButton s počáteční hodnotou vlastnosti Visiblefalse.

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

Poznámky

Když ověříte uživatele v klientských aplikačních službách, ClientFormsAuthenticationMembershipProvider nebo ClientWindowsAuthenticationMembershipProvider nastaví vlastnost staticThread.CurrentPrincipal na instanci této třídy. ClientFormsAuthenticationMembershipProvider inicializuje Identity vlastnost na novou instanci třídy ClientFormsIdentity. ClientWindowsAuthenticationMembershipProvider inicializuje Identity vlastnost na objekt WindowsIdentity vrácený metodou staticWindowsIdentity.GetCurrent().

K této třídě obvykle nemáte přímý přístup. Za normálních okolností budete volat IsInRole metodu IPrincipal vrácenou staticCurrentPrincipal vlastnost. Hodnotu vlastnosti CurrentPrincipal však můžete přetypovat na ClientRolePrincipal odkaz, který explicitně zavolá metodu IsInRole, jak je znázorněno v části Příklad.

Konstruktory

ClientRolePrincipal(IIdentity)

Inicializuje novou instanci ClientRolePrincipal třídy.

Vlastnosti

Identity

Získá identitu zabezpečení přidruženou k ClientRolePrincipal.

Metody

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
IsInRole(String)

Získá hodnotu určující, zda uživatel reprezentovaný ClientRolePrincipal je v zadané roli.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také