共用方式為


ClientRolePrincipal 類別

定義

表示用戶端應用程式服務的安全性資訊,其中包含角色資訊。

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
實作

範例

下列範例程式代碼示範如何在用戶處於「管理員」角色時,才使用此類別來顯示按鈕。 此範例需要名為 managerOnlyButtonButton,且其初始 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

備註

當您在用戶端應用程式服務中驗證使用者時,ClientFormsAuthenticationMembershipProviderClientWindowsAuthenticationMembershipProvider 會將 staticThread.CurrentPrincipal 屬性設定為這個類別的實例。 ClientFormsAuthenticationMembershipProvider 會將 Identity 屬性初始化為 ClientFormsIdentity 類別的新實例。 ClientWindowsAuthenticationMembershipProvider 會將 Identity 屬性初始化為 staticWindowsIdentity.GetCurrent() 方法所傳回的 WindowsIdentity 物件。

您通常不會直接存取這個類別。 一般而言,您將呼叫 staticCurrentPrincipal 屬性所傳回之 IPrincipalIsInRole 方法。 不過,您可以將 CurrentPrincipal 屬性值轉換成 ClientRolePrincipal 參考,以明確呼叫 IsInRole 方法,如範例一節所示。

建構函式

ClientRolePrincipal(IIdentity)

初始化 ClientRolePrincipal 類別的新實例。

屬性

Identity

取得與 ClientRolePrincipal相關聯的安全性識別。

方法

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetHashCode()

做為預設哈希函式。

(繼承來源 Object)
GetType()

取得目前實例的 Type

(繼承來源 Object)
IsInRole(String)

取得值,指出由 ClientRolePrincipal 表示的使用者是否在指定的角色中。

MemberwiseClone()

建立目前 Object的淺層複本。

(繼承來源 Object)
ToString()

傳回表示目前 物件的字串。

(繼承來源 Object)

適用於

另請參閱