共用方式為


ActiveDirectoryMembershipProvider.ValidateUser(String, String) 方法

定義

驗證在 Active Directory 資料存放區中存在指定的使用者名稱和密碼。

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

要驗證的使用者名稱。

password
String

指定之使用者的密碼。

傳回

如果指定的 usernamepassword 有效則為 true,否則為 false。 如果 Active Directory 資料存放區中不存在指定的使用者,則 ValidateUser(String, String) 方法會傳回 false

例外狀況

ValidateUser(String, String) 方法的呼叫,會在初始化 ActiveDirectoryMembershipProvider 執行個體之前進行。

備註

類別會呼叫 Membership 這個方法,以驗證 Active Directory 資料存放區的使用者認證。

EnablePasswordReset如果 屬性為 true ,且提供的認證有效,則會重設使用者對於錯誤密碼答案的追蹤計數器。

在下列情況下,當提供正確的認證時,方法 ValidateUser 可能會傳回 false

  1. 因為登入嘗試太多失敗,所以目錄伺服器已鎖定使用者帳戶。 在目錄的鎖定持續時間通過之前,使用者將無法登入。

  2. EnablePasswordReset如果 屬性為 true ,則如果使用者提供不正確的密碼答案太多次,則會鎖定使用者帳戶。 在 屬性中指定的 PasswordAnswerAttemptLockoutDuration 時間通過之後,使用者帳戶將會解除鎖定。

  3. 使用者必須存在於連接字串中指定的容器中。 系統會為位於不同容器或不同網域中的使用者帳戶提供有效的認證。 使用者必須存在於連接字串中指定的容器中。

驗證使用者時,提供者會使用指定的使用者名稱和密碼連線到 Active Directory 資料存放區來驗證認證,而不是應用程式組態檔中設定的認證。

不過, ActiveDirectoryMembershipProvider 實例會使用已設定的認證連線到目錄,原因如下。

  • 確認使用者存在於實例連接字串所決定的 ActiveDirectoryMembershipProvider 搜尋範圍內。 提供者會使用從連接字串中指定的搜尋點開始的子樹搜尋,來判斷使用者是否存在。 使用者必須存在於指定的容器中。 在連接字串的指定容器之外有效的認證將不會經過驗證。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。

  • EnablePasswordReset如果 屬性為 true ,實例 ActiveDirectoryMembershipProvider 會使用設定的認證來載入使用者實例,以檢查使用者是否已鎖定,因為使用者嘗試變更密碼答案時發生太多失敗嘗試。

重要

連線到已啟用「來賓」帳戶的 Active Directory 網域控制站是潛在的安全性威脅。 在已啟用「來賓」帳戶的 Active Directory 網域控制站上所做的所有驗證嘗試都會成功。 若要在使用 Active Directory 網域控制站時改善安全性,您應該停用網域控制站上的「來賓」帳戶。

ActiveDirectoryMembershipProvider當符合下列其中一個條件時,實例會嘗試對 Active Directory 進行並行系結:

此外,若要進行並行系結,下列條件必須為 true:

  • 目錄伺服器必須在 Windows Server 2003 上執行。

  • 執行 ActiveDirectoryMembershipProvider 實例的 Web 服務器的作業系統必須支援並行系結 (,例如 Windows Server 2003) 。

使用並行系結時,不會在目錄中更新使用者的最後一次登入日期;因此, LastLoginDate 無法依賴 屬性。

開頭和尾端空格會從 username 參數修剪。

適用於

另請參閱