ClientRolePrincipal Klass

Definition

Representerar säkerhetsinformation för klientprogramtjänster, som innehåller rollinformation.

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
Arv
ClientRolePrincipal
Implementeringar

Exempel

Följande exempelkod visar hur du använder den här klassen för att visa en knapp endast när användaren har rollen "chef". Det här exemplet kräver ett Button namngivet managerOnlyButton med ett initialt Visible egenskapsvärde på 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

Kommentarer

När du verifierar en användare i klientprogramtjänster anger ClientFormsAuthenticationMembershipProvider eller ClientWindowsAuthenticationMembershipProvider anger staticThread.CurrentPrincipal egenskapen till en instans av den här klassen. Initierar ClientFormsAuthenticationMembershipProvider egenskapen Identity till en ny instans av ClientFormsIdentity klassen. Initierar ClientWindowsAuthenticationMembershipProviderIdentity egenskapen till objektet som WindowsIdentity returneras av staticWindowsIdentity.GetCurrent() metoden.

Du kommer vanligtvis inte åt den här klassen direkt. Normalt anropar du metoden för IsInRole den IPrincipal som returneras av staticCurrentPrincipal egenskapen. Du kan dock omvandla egenskapsvärdet CurrentPrincipal till en ClientRolePrincipal referens för att anropa IsInRole metoden explicit, vilket visas i avsnittet Exempel.

Konstruktorer

Name Description
ClientRolePrincipal(IIdentity)

Initierar en ny instans av ClientRolePrincipal klassen.

Egenskaper

Name Description
Identity

Hämtar säkerhetsidentiteten som är associerad med ClientRolePrincipal.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
IsInRole(String)

Hämtar ett värde som anger om användaren som representeras av ClientRolePrincipal är i den angivna rollen.

MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även