ClientFormsAuthenticationMembershipProvider.ValidateUser メソッド

定義

指定した資格情報を使用してユーザーを認証します。

オーバーロード

ValidateUser(String, String)

指定したユーザー名とパスワードを使用してユーザーを認証します。

ValidateUser(String, String, Boolean)

指定したユーザー名とパスワードを使用してユーザーを認証し、必要に応じてパスワードのハッシュをローカル データ キャッシュに格納します。

ValidateUser(String, String, String)

指定したユーザー名とパスワードを使用して、指定したサービス URI でユーザーを認証します。

ValidateUser(String, String)

指定したユーザー名とパスワードを使用してユーザーを認証します。

public override bool ValidateUser (string username, string password);

パラメーター

username
String

認証するユーザーの名前。このアプリケーションが使用するように構成されている IClientFormsAuthenticationCredentialsProvider の実装から資格情報を取得するために Empty または null

password
String

認証するユーザーのパスワード。

戻り値

ユーザーが認証されたかどうかを true します。それ以外の場合は、falseします。

例外

IsOffline プロパティの値が false され、メンバーシップ プロバイダーが認証サービスにアクセスできません。

次のコード例は、このメソッドを使用して、IClientFormsAuthenticationCredentialsProvider 実装を使用してユーザーを検証する方法を示しています。 この例では、資格情報プロバイダーを使用するようにアプリケーションを構成する必要があります。

private bool ValidateUsingCredentialsProvider()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with empty strings in order to display the 
        // login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}

注釈

クライアント アプリケーション サービスを使用して、フォーム認証を使用してユーザーを検証できます。 ユーザーを検証するには、通常、ClientFormsAuthenticationMembershipProvider.ValidateUser メソッドを内部的に呼び出す staticMembership.ValidateUser メソッドを呼び出します。 または、「例」セクションに示すように、このメソッドを直接呼び出すことができます。

フォーム認証では、ユーザーがアプリケーションによって提供されるログイン コントロールを使用して資格情報を指定する必要があります。 資格情報を取得し、Membership.ValidateUser メソッドに渡すことができます。 空の文字列や null を渡して、資格情報プロバイダーを使用することもできます。

こちらもご覧ください

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

ValidateUser(String, String, Boolean)

指定したユーザー名とパスワードを使用してユーザーを認証し、必要に応じてパスワードのハッシュをローカル データ キャッシュに格納します。

public bool ValidateUser (string username, string password, bool rememberMe);

パラメーター

username
String

認証するユーザーの名前。

password
String

認証するユーザーのパスワード。

rememberMe
Boolean

オフラインで使用するため、およびユーザー認証 Cookie の有効期限が切れたときの自動再認証のために、パスワードのハッシュをローカル データ キャッシュに格納する truefalse、オフライン ログインを無効にするか、Cookie の有効期限が切れたときにユーザーに再認証を要求します。

戻り値

ユーザーが認証されたかどうかを true します。それ以外の場合は、falseします。

例外

IsOffline プロパティの値が false され、メンバーシップ プロバイダーが認証サービスにアクセスできません。

次のコード例は、このメソッドを使用して、アプリケーション コードでログイン コントロールを使用してユーザーを検証する方法を示しています。 この例では、usernameTextBoxという名前の TextBox コントロール、passwordTextBoxという名前の TextBox コントロール、および rememberMeCheckBoxという名前の CheckBox コントロールが必要です。

private bool ValidateUsingLoginControls()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with credentials retrieved from login controls.
        isAuthorized = authProvider.ValidateUser(usernameTextBox.Text,
            passwordTextBox.Text, rememberMeCheckBox.Checked);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}

注釈

クライアント アプリケーション サービスを使用して、フォーム認証を使用してユーザーを検証できます。 ユーザーを検証するには、通常、ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) メソッドを内部的に呼び出す staticMembership.ValidateUser メソッドを呼び出します。 または、ClientFormsAuthenticationMembershipProvider.ValidateUser メソッドを直接呼び出すことができます。 このオーバーロードを呼び出して、username 値と password 値に加えて rememberMe 値を渡すことができます。

こちらもご覧ください

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

ValidateUser(String, String, String)

指定したユーザー名とパスワードを使用して、指定したサービス URI でユーザーを認証します。

public static bool ValidateUser (string username, string password, string serviceUri);

パラメーター

username
String

認証するユーザーの名前。

password
String

認証するユーザーのパスワード。

serviceUri
String

使用する認証サービスの URI。

戻り値

ユーザーが認証されたかどうかを true します。それ以外の場合は、falseします。

例外

IsOffline プロパティの値が false され、メンバーシップ プロバイダーが認証サービスにアクセスできません。

次のコード例は、このメソッドを使用して、指定した場所にある認証サービスを通じてユーザーを検証する方法を示しています。 ユーザー資格情報は、アプリケーション コードのログイン コントロールから取得されます。 この例では、usernameTextBox という名前の TextBox コントロールと、passwordTextBoxという名前の TextBox コントロールが必要です。

private bool ValidateUsingServiceUri(String serviceUri)
{
    bool isAuthorized = false;
    try
    {
        // Call the static overload of ValidateUser. Specify credentials 
        // retrieved from login controls and the service location.
        isAuthorized = 
            ClientFormsAuthenticationMembershipProvider.ValidateUser(
            usernameTextBox.Text, passwordTextBox.Text, serviceUri);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}

注釈

クライアント アプリケーション サービスを使用して、フォーム認証を使用してユーザーを検証できます。 ユーザーを検証するには、通常、ClientFormsAuthenticationMembershipProvider.ValidateUser メソッドを内部的に呼び出す staticMembership.ValidateUser メソッドを呼び出します。 または、ClientFormsAuthenticationMembershipProvider.ValidateUser メソッドを直接呼び出すことができます。 このオーバーロードを呼び出して、serviceUri パラメーターで指定された場所にある認証サービスにアクセスできます。 このオーバーロードを使用することは、ServiceUri プロパティを設定し、ValidateUser(String, String) オーバーロードを呼び出す代わりに使用します。

こちらもご覧ください

適用対象

.NET Framework 4.8.1 およびその他のバージョン
製品 バージョン
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1