共用方式為


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) 多載的替代方案。

另請參閱

適用於