ClientRolePrincipal.IsInRole(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ClientRolePrincipal によって表されるユーザーが指定されたロールに含まれているかどうかを示す値を取得します。
public:
virtual bool IsInRole(System::String ^ role);
public bool IsInRole (string role);
abstract member IsInRole : string -> bool
override this.IsInRole : string -> bool
Public Function IsInRole (role As String) As Boolean
パラメーター
- role
- String
確認するロール。
戻り値
ユーザーが指定したロールに含まれている場合に true
します。ユーザーが指定されたロールにいないか、認証されていない場合に false
します。
実装
例
次のコード例では、このメソッドを使用して、ユーザーが "マネージャー" ロールに含まれている場合にのみボタンを表示する方法を示します。 この例では、初期 Visible プロパティ値が false
の managerOnlyButton
という名前の 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
注釈
通常は、static
Thread.CurrentPrincipal プロパティによって返される IPrincipal の IsInRole メソッドを呼び出します。 ただし、「例」セクションに示すように、CurrentPrincipal プロパティ値を ClientRolePrincipal 参照にキャストして、このメソッドを明示的に呼び出すことができます。
ユーザー ログインの有効期限が切れている場合、IsInRole メソッドは常に false
を返します。 これは、認証の直後にアプリケーションが IsInRole メソッドを 1 回呼び出した場合には発生しません。 アプリケーションが他の時点でユーザー ロールを取得する必要がある場合は、ログインの有効期限が切れたユーザーを再検証するコードを追加できます。 有効なすべてのユーザーがロールに割り当てられている場合は、ClientRoleProvider.GetRolesForUser メソッドを呼び出してログインの有効期限が切れているかどうかを判断できます。 ロールが返されない場合、ログインの有効期限が切れています。 この機能の例については、GetRolesForUser メソッドを参照してください。 この機能は、アプリケーション構成でサーバー Cookie の有効期限が切れるたびにユーザーが再度ログオンすることを要求する を選択した場合にのみ必要です。
適用対象
こちらもご覧ください
.NET