ClientFormsIdentity ClientFormsIdentity ClientFormsIdentity ClientFormsIdentity Class

定義

フォーム認証を使用してクライアント アプリケーション サービスに対して認証されたユーザー ID を表します。Represents a user identity authenticated for client application services by using forms authentication.

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
継承
ClientFormsIdentityClientFormsIdentityClientFormsIdentityClientFormsIdentity
実装

次のコード例では、このクラスを使用して、アプリケーションがオフライン状態になったときに、ユーザーを自動的に再検証する方法を示します。The following example code demonstrates how to use this class to silently revalidate a user when the application leaves the offline state. この例で、CheckedChangedイベント ハンドラーは、チェック ボックスの値に一致するようにオフラインの状態を更新します。In this example, a CheckedChanged event handler updates the offline status to match the check box value. イベント ハンドラーが呼び出すことによってユーザーの再検証しようとした場合は、ユーザーがオンライン状態にアプリケーションを設定、RevalidateUserメソッド。If the user sets the application to the online state, the event handler attempts to revalidate the user by calling the RevalidateUser method. ただし、認証サーバーが利用できない場合、イベント ハンドラーは、アプリケーションをオフラインの状態を返します。However, if the authentication server is unavailable, the event handler returns the application to the offline state.

注意

RevalidateUser メソッドは便宜的なものに過ぎません。The RevalidateUser method is for convenience only. このメソッドには戻り値がないため、再検証が失敗したかどうかを示すことはできません。Because it does not have a return value, it cannot indicate whether revalidation has failed. 再検証は失敗することがあります。たとえば、サーバーでユーザーの資格情報が変更された場合などです。Revalidation can fail, for example, if the user credentials have changed on the server. この場合、サービスの呼び出しが失敗した後に、明示的にユーザーを検証するコードを含めることができます。In this case, you might want to include code that explicitly validates users after a service call fails. 詳細については、Web 設定へのアクセス」セクションを参照してください。チュートリアル。クライアント アプリケーション サービスを使用してします。For more information, see the Accessing Web Settings section in Walkthrough: Using Client Application Services.

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

注釈

クライアント アプリケーション サービスの機能では、このクラスを使用して、認証されたユーザーを表します。The client application services feature uses this class to represent an authenticated user. クライアント アプリケーション サービスとフォーム認証を使用するアプリケーションを構成するときに呼び出すことによってユーザーを認証することができます、 static Membership.ValidateUserメソッド。When you configure your application to use client application services and forms authentication, you can authenticate a user by calling the static Membership.ValidateUser method. 認証の後に、現在への参照を取得できますClientFormsIdentityインスタンスを通じて、Identityのプロパティ、IPrincipalを使用して取得、 static Thread.CurrentPrincipalプロパティ。After authentication, you can retrieve a reference to the current ClientFormsIdentity instance through the Identity property of the IPrincipal retrieved through the static Thread.CurrentPrincipal property. 詳細については、「クライアント アプリケーション サービス」を参照してください。For more information, see Client Application Services.

通常、アクセス、ClientFormsIdentityオブジェクトとして、IIdentityこのクラスの直接的な依存関係を避けるために参照します。You will typically access a ClientFormsIdentity object as an IIdentity reference to avoid a direct dependency on this class. チェックしてユーザーが認証されるかどうかを決定することができます、 IIdentity.IsAuthenticated id のプロパティ。You can determine whether a user is authenticated by checking the IIdentity.IsAuthenticated property of the identity. ただし、クライアント アプリケーション サービスではなく、Windows のユーザーは認証された可能性があります。However, the user may be authenticated for Windows, but not for client application services. クライアント アプリケーション サービスのユーザーが認証されたかどうかを判断する必要がありますもことを確認、IIdentity.AuthenticationTypeプロパティの値は"ClientForms"。To determine whether the user is authenticated for client application services, you should also confirm that the IIdentity.AuthenticationType property value is "ClientForms".

明示的な使用する必要がありますClientFormsIdentity呼び出しへの参照、RevalidateUserメソッドは、によって定義されていない、IIdentityインターフェイス。You must use an explicit ClientFormsIdentity reference to call the RevalidateUser method, which is not defined by the IIdentity interface.

コンストラクター

ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer)

ClientFormsIdentity クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientFormsIdentity class.

プロパティ

AuthenticationCookies AuthenticationCookies AuthenticationCookies AuthenticationCookies

認証サーバーから取得したクッキーのコレクションを取得します。Gets a collection of the cookies retrieved from the authentication service.

AuthenticationType AuthenticationType AuthenticationType AuthenticationType

ユーザーの認証に使用した認証の種類を取得します。Gets the type of authentication that is used to authenticate the user.

IsAuthenticated IsAuthenticated IsAuthenticated IsAuthenticated

ユーザーが認証されているかどうかを示す値を取得します。Gets a value indicating whether the user has been authenticated.

Name Name Name Name

ユーザーの名前を取得します。Gets the name of the user.

Provider Provider Provider Provider

ユーザーの認証に使用したメンバーシップ プロバイダーを取得します。Gets the membership provider that is used to authenticate the user.

メソッド

Dispose() Dispose() Dispose() Dispose()

ClientFormsIdentity によって使用されているすべてのリソースを解放します。Releases all resources used by the ClientFormsIdentity.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

ClientFormsIdentity によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the ClientFormsIdentity and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
RevalidateUser() RevalidateUser() RevalidateUser() RevalidateUser()

キャッシュされた資格情報を使用してユーザーを自動的に認証します。Silently authenticates the user by using cached credentials.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください