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

要进行身份验证的用户的名称,或 Emptynull 从此应用程序配置为使用的 IClientFormsAuthenticationCredentialsProvider 实现中检索凭据。

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 将密码哈希存储在本地数据缓存中以供脱机使用,并在用户身份验证 Cookie 过期时自动重新进行身份验证;false 禁用脱机登录或要求用户在 Cookie 过期时重新进行身份验证。

返回

如果用户已经过身份验证,true;否则,false

例外

IsOffline 属性值 false 并且成员资格提供程序无法访问身份验证服务。

示例

以下示例代码演示如何使用此方法通过应用程序代码中的登录控件来验证用户。 此示例需要名为 usernameTextBoxTextBox 控件、名为 passwordTextBoxTextBox 控件和名为 rememberMeCheckBoxCheckBox 控件。

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 方法。 除了 usernamepassword 值外,还可以调用此重载来传入 rememberMe 值。

另请参阅

适用于

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 并且成员资格提供程序无法访问身份验证服务。

示例

以下示例代码演示如何使用此方法通过指定位置的身份验证服务来验证用户。 用户凭据是从应用程序代码中的登录控件中检索的。 此示例需要一个名为 usernameTextBoxTextBox 控件和一个名为 passwordTextBoxTextBox 控件。

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) 重载的替代方法。

另请参阅

适用于