ClientFormsAuthenticationMembershipProvider.ValidateUser 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使用指定的認證來驗證使用者。
多載
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 或 null
,從此應用程式設定為使用的 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
備註
您可以使用用戶端應用程式服務,使用窗體驗證來驗證使用者。 若要驗證使用者,您通常會呼叫 static
Membership.ValidateUser 方法,此方法會在內部呼叫 ClientFormsAuthenticationMembershipProvider.ValidateUser 方法。 或者,您可以直接呼叫此方法,如範例區段所示。
窗體驗證需要使用者透過應用程式所提供的登入控件來指定其認證。 您可以擷取認證,並將其傳遞至 Membership.ValidateUser 方法。 您也可以傳入空字串或 null
來使用認證提供者。
另請參閱
- IClientFormsAuthenticationCredentialsProvider
- ValidateUser(String, String)
- 用戶端應用程式服務
- 如何:設定用戶端應用程式服務
- 如何:使用用戶端應用程式服務實作使用者登入和註銷
適用於
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
且成員資格提供者無法存取驗證服務。
範例
下列範例程式代碼示範如何使用此方法,在應用程式程式代碼中使用登入控件來驗證使用者。 此範例需要名為 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;
}
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
備註
您可以使用用戶端應用程式服務,使用窗體驗證來驗證使用者。 若要驗證使用者,您通常會呼叫 static
Membership.ValidateUser 方法,此方法會在內部呼叫 ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) 方法。 或者,您也可以直接呼叫 ClientFormsAuthenticationMembershipProvider.ValidateUser 方法。 除了 username
和 password
值之外,您還可以呼叫這個多載來傳入 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
且成員資格提供者無法存取驗證服務。
範例
下列範例程式代碼示範如何使用此方法,透過指定位置的驗證服務來驗證使用者。 使用者認證會從應用程式程式代碼中的登入控件擷取。 此範例需要名為 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;
}
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
備註
您可以使用用戶端應用程式服務,使用窗體驗證來驗證使用者。 若要驗證使用者,您通常會呼叫 static
Membership.ValidateUser 方法,此方法會在內部呼叫 ClientFormsAuthenticationMembershipProvider.ValidateUser 方法。 或者,您也可以直接呼叫 ClientFormsAuthenticationMembershipProvider.ValidateUser 方法。 您可以呼叫此多載,以存取 serviceUri
參數所指定位置的驗證服務。 使用此多載是設定 ServiceUri 屬性並呼叫 ValidateUser(String, String) 多載的替代方案。