ClientRolePrincipal Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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) |