ClientFormsAuthenticationMembershipProvider.ValidateUser メソッド

定義

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

オーバーロード

ValidateUser(String, String)

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

ValidateUser(String, String, Boolean)

指定したユーザー名とパスワードを使用してユーザーを認証します。オプションでパスワードのハッシュをローカルのデータ キャッシュに格納することもできます。

ValidateUser(String, String, String)

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

ValidateUser(String, String)

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

public:
 override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean

パラメーター

username
String

認証するユーザーの名前。このアプリケーション構成で使用するように構成されている Empty の実装から資格情報を取得する場合は IClientFormsAuthenticationCredentialsProvider または 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;
}
Private Function ValidateUsingCredentialsProvider() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            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 ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

注釈

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

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

こちらもご覧ください

適用対象

ValidateUser(String, String, Boolean)

指定したユーザー名とパスワードを使用してユーザーを認証します。オプションでパスワードのハッシュをローカルのデータ キャッシュに格納することもできます。

public:
 bool ValidateUser(System::String ^ username, System::String ^ password, bool rememberMe);
public bool ValidateUser (string username, string password, bool rememberMe);
override this.ValidateUser : string * string * bool -> bool
Public Function ValidateUser (username As String, password As String, rememberMe As Boolean) As Boolean

パラメーター

username
String

認証対象のユーザー名。

password
String

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

rememberMe
Boolean

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

戻り値

ユーザーが認証されている場合は true。それ以外の場合は false

例外

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

次のコード例は、このメソッドを使用して、アプリケーション コードでログイン コントロールを使用してユーザーを検証する方法を示しています。 この例では、 という名前usernameTextBoxTextBoxコントロール、、 という名前passwordTextBoxTextBoxコントロール、および という名前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;
}
Private Function ValidateUsingLoginControls() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            ClientFormsAuthenticationMembershipProvider)

        ' Call ValidateUser with credentials retrieved from login controls.
        isAuthorized = authProvider.ValidateUser(usernameTextBox.Text, _
            passwordTextBox.Text, rememberMeCheckBox.Checked)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

注釈

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

こちらもご覧ください

適用対象

ValidateUser(String, String, String)

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

public:
 static bool ValidateUser(System::String ^ username, System::String ^ password, System::String ^ serviceUri);
public static bool ValidateUser (string username, string password, string serviceUri);
static member ValidateUser : string * string * string -> bool
Public Shared Function ValidateUser (username As String, password As String, serviceUri As String) As Boolean

パラメーター

username
String

認証対象のユーザー名。

password
String

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

serviceUri
String

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

戻り値

ユーザーが認証されている場合は true。それ以外の場合は false

例外

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

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

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;
}
Private Function ValidateUsingServiceUri(ByVal serviceUri As String) As Boolean

    Dim isAuthorized As Boolean = False

    Try

        ' Call the Shared overload of ValidateUser. Specify credentials 
        ' retrieved from login controls and the service location.
        isAuthorized = _
            ClientFormsAuthenticationMembershipProvider.ValidateUser( _
            usernameTextBox.Text, passwordTextBox.Text, serviceUri)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

注釈

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

こちらもご覧ください

適用対象