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
実装

次のコード例では、このクラスを使用して、ユーザーが "マネージャー" ロールに含まれている場合にのみボタンを表示する方法を示します。 この例では、初期 Visible プロパティ値が falsemanagerOnlyButton という名前の Button が必要です。

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 によって、staticThread.CurrentPrincipal プロパティがこのクラスのインスタンスに設定されます。 ClientFormsAuthenticationMembershipProvider は、Identity プロパティを ClientFormsIdentity クラスの新しいインスタンスに初期化します。 ClientWindowsAuthenticationMembershipProvider は、staticWindowsIdentity.GetCurrent() メソッドによって返される WindowsIdentity オブジェクトに対して、Identity プロパティを初期化します。

通常、このクラスには直接アクセスしません。 通常は、staticCurrentPrincipal プロパティによって返される IPrincipalIsInRole メソッドを呼び出します。 ただし、「例」セクションに示すように、CurrentPrincipal プロパティ値を ClientRolePrincipal 参照にキャストして、IsInRole メソッドを明示的に呼び出すことができます。

コンストラクター

ClientRolePrincipal(IIdentity)

ClientRolePrincipal クラスの新しいインスタンスを初期化します。

プロパティ

Identity

ClientRolePrincipalに関連付けられているセキュリティ ID を取得します。

メソッド

Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsInRole(String)

ClientRolePrincipal によって表されるユーザーが指定されたロールに含まれているかどうかを示す値を取得します。

MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください