ClientFormsIdentity クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
フォーム認証を使用してクライアント アプリケーション サービスに対して認証されたユーザー ID を表します。
public ref class ClientFormsIdentity : IDisposable, System::Security::Principal::IIdentity
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
type ClientFormsIdentity = class
interface IIdentity
interface IDisposable
Public Class ClientFormsIdentity
Implements IDisposable, IIdentity
- 継承
-
ClientFormsIdentity
- 実装
例
次のコード例は、このクラスを使用して、アプリケーションがオフライン状態を離れたときにユーザーをサイレントモードで再検証する方法を示しています。 この例では、イベント ハンドラーはCheckedChanged、チェック ボックスの値と一致するようにオフライン状態を更新します。 ユーザーがアプリケーションをオンライン状態に設定した場合、イベント ハンドラーは メソッドを呼び出してユーザーの再検証を RevalidateUser 試みます。 ただし、認証サーバーが使用できない場合、イベント ハンドラーはアプリケーションをオフライン状態に戻します。
Note
RevalidateUser メソッドは便宜的なものに過ぎません。 このメソッドには戻り値がないため、再検証が失敗したかどうかを示すことはできません。 再検証は失敗することがあります。たとえば、サーバーでユーザーの資格情報が変更された場合などです。 この場合、サービスの呼び出しが失敗した後に、明示的にユーザーを検証するコードを含めることができます。 詳細については、「 チュートリアル: クライアント アプリケーション サービスの使用」の「Web 設定へのアクセス」セクションを参照してください。
private void workOfflineCheckBox_CheckedChanged(
object sender, EventArgs e)
{
ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked;
if (!ConnectivityStatus.IsOffline)
{
try
{
// Silently re-validate the user.
((ClientFormsIdentity)
System.Threading.Thread.CurrentPrincipal.Identity)
.RevalidateUser();
// If any settings have been changed locally, save the new
// new values to the Web settings service.
SaveSettings();
// If any settings have not been changed locally, check
// the Web settings service for updates.
Properties.Settings.Default.Reload();
}
catch (System.Net.WebException)
{
MessageBox.Show(
"Unable to access the authentication service. " +
Environment.NewLine + "Staying in offline mode.",
"Warning", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
workOfflineCheckBox.Checked = true;
}
}
}
Private Sub workOfflineCheckBox_CheckedChanged( _
ByVal sender As Object, ByVal e As EventArgs) _
Handles workOfflineCheckBox.CheckedChanged
ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked
If Not ConnectivityStatus.IsOffline Then
Try
' Silently re-validate the user.
CType(System.Threading.Thread.CurrentPrincipal.Identity, _
ClientFormsIdentity).RevalidateUser()
' If any settings have been changed locally, save the new
' new values to the Web settings service.
SaveSettings()
' If any settings have not been changed locally, check
' the Web settings service for updates.
My.Settings.Reload()
Catch ex As System.Net.WebException
MessageBox.Show( _
"Unable to access the authentication service. " & _
Environment.NewLine + "Staying in offline mode.", _
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
workOfflineCheckBox.Checked = True
End Try
End If
End Sub
注釈
クライアント アプリケーション サービス機能では、このクラスを使用して認証されたユーザーを表します。 クライアント アプリケーション サービスとフォーム認証を使用するようにアプリケーションを構成する場合は、 メソッドを呼び出してユーザーを static
Membership.ValidateUser 認証できます。 認証後、 プロパティを介して取得した の プロパティをIdentity使用して、現在ClientFormsIdentityのIPrincipalインスタンスへの参照をstatic
Thread.CurrentPrincipal取得できます。 詳細については、「クライアント アプリケーション サービス」を参照してください。
通常、このクラスへの直接の依存関係を ClientFormsIdentity 回避するために、 IIdentity オブジェクトに参照としてアクセスします。 ID の プロパティを確認 IIdentity.IsAuthenticated することで、ユーザーが認証されているかどうかを確認できます。 ただし、ユーザーは Windows で認証される可能性がありますが、クライアント アプリケーション サービスでは認証されません。 ユーザーがクライアント アプリケーション サービスに対して認証されているかどうかを判断するには、プロパティ値が "ClientForms" であることを IIdentity.AuthenticationType 確認する必要もあります。
インターフェイスで定義されていない メソッドをRevalidateUser呼び出すには、明示的なClientFormsIdentity参照を使用するIIdentity必要があります。
コンストラクター
ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) |
ClientFormsIdentity クラスの新しいインスタンスを初期化します。 |
プロパティ
AuthenticationCookies |
認証サーバーから取得したクッキーのコレクションを取得します。 |
AuthenticationType |
ユーザーの認証に使用した認証の種類を取得します。 |
IsAuthenticated |
ユーザーが認証されているかどうかを示す値を取得します。 |
Name |
ユーザーの名前を取得します。 |
Provider |
ユーザーの認証に使用したメンバーシップ プロバイダーを取得します。 |
メソッド
Dispose() |
ClientFormsIdentity によって使用されているすべてのリソースを解放します。 |
Dispose(Boolean) |
ClientFormsIdentity によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
現在のインスタンスの Type を取得します。 (継承元 Object) |
MemberwiseClone() |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
RevalidateUser() |
キャッシュされた資格情報を使用してユーザーを自動的に認証します。 |
ToString() |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
適用対象
こちらもご覧ください
.NET
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示