ClientRolePrincipal 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
表示用戶端應用程式服務的安全性資訊,其中包含角色資訊。
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
- 繼承
-
ClientRolePrincipal
- 實作
範例
下列範例程式代碼示範如何在用戶處於「管理員」角色時,才使用此類別來顯示按鈕。 此範例需要名為 managerOnlyButton
的 Button,且其初始 Visible 屬性值為 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
備註
當您在用戶端應用程式服務中驗證使用者時,ClientFormsAuthenticationMembershipProvider 或 ClientWindowsAuthenticationMembershipProvider 會將 static
Thread.CurrentPrincipal 屬性設定為這個類別的實例。
ClientFormsAuthenticationMembershipProvider 會將 Identity 屬性初始化為 ClientFormsIdentity 類別的新實例。
ClientWindowsAuthenticationMembershipProvider 會將 Identity 屬性初始化為 static
WindowsIdentity.GetCurrent() 方法所傳回的 WindowsIdentity 物件。
您通常不會直接存取這個類別。 一般而言,您將呼叫 static
CurrentPrincipal 屬性所傳回之 IPrincipal 的 IsInRole 方法。 不過,您可以將 CurrentPrincipal 屬性值轉換成 ClientRolePrincipal 參考,以明確呼叫 IsInRole 方法,如範例一節所示。
建構函式
ClientRolePrincipal(IIdentity) |
初始化 ClientRolePrincipal 類別的新實例。 |
屬性
Identity |
取得與 ClientRolePrincipal相關聯的安全性識別。 |
方法
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設哈希函式。 (繼承來源 Object) |
GetType() |
取得目前實例的 Type。 (繼承來源 Object) |
IsInRole(String) |
取得值,指出由 ClientRolePrincipal 表示的使用者是否在指定的角色中。 |
MemberwiseClone() |
建立目前 Object的淺層複本。 (繼承來源 Object) |
ToString() |
傳回表示目前 物件的字串。 (繼承來源 Object) |