ActiveDirectoryMembershipProvider.ValidateUser(String, String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
驗證在 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
指定之使用者的密碼。
傳回
如果指定的 username
和 password
有效則為 true
,否則為 false
。 如果 Active Directory 資料存放區中不存在指定的使用者,則 ValidateUser(String, String) 方法會傳回 false
。
例外狀況
ValidateUser(String, String) 方法的呼叫,會在初始化 ActiveDirectoryMembershipProvider 執行個體之前進行。
備註
類別會呼叫 Membership 這個方法,以驗證 Active Directory 資料存放區的使用者認證。
EnablePasswordReset如果 屬性為 true
,且提供的認證有效,則會重設使用者對於錯誤密碼答案的追蹤計數器。
在下列情況下,當提供正確的認證時,方法 ValidateUser 可能會傳回 false
:
因為登入嘗試太多失敗,所以目錄伺服器已鎖定使用者帳戶。 在目錄的鎖定持續時間通過之前,使用者將無法登入。
EnablePasswordReset如果 屬性為
true
,則如果使用者提供不正確的密碼答案太多次,則會鎖定使用者帳戶。 在 屬性中指定的 PasswordAnswerAttemptLockoutDuration 時間通過之後,使用者帳戶將會解除鎖定。使用者必須存在於連接字串中指定的容器中。 系統會為位於不同容器或不同網域中的使用者帳戶提供有效的認證。 使用者必須存在於連接字串中指定的容器中。
驗證使用者時,提供者會使用指定的使用者名稱和密碼連線到 Active Directory 資料存放區來驗證認證,而不是應用程式組態檔中設定的認證。
不過, ActiveDirectoryMembershipProvider 實例會使用已設定的認證連線到目錄,原因如下。
確認使用者存在於實例連接字串所決定的 ActiveDirectoryMembershipProvider 搜尋範圍內。 提供者會使用從連接字串中指定的搜尋點開始的子樹搜尋,來判斷使用者是否存在。 使用者必須存在於指定的容器中。 在連接字串的指定容器之外有效的認證將不會經過驗證。 ActiveDirectoryMembershipProvider如需連接字串的詳細資訊,請參閱 類別主題。
EnablePasswordReset如果 屬性為
true
,實例 ActiveDirectoryMembershipProvider 會使用設定的認證來載入使用者實例,以檢查使用者是否已鎖定,因為使用者嘗試變更密碼答案時發生太多失敗嘗試。
重要
連線到已啟用「來賓」帳戶的 Active Directory 網域控制站是潛在的安全性威脅。 在已啟用「來賓」帳戶的 Active Directory 網域控制站上所做的所有驗證嘗試都會成功。 若要在使用 Active Directory 網域控制站時改善安全性,您應該停用網域控制站上的「來賓」帳戶。
ActiveDirectoryMembershipProvider當符合下列其中一個條件時,實例會嘗試對 Active Directory 進行並行系結:
CurrentConnectionProtection 屬性會設定為 None。
屬性 CurrentConnectionProtection 會設定為 SignAndSeal ,而且實例會選擇 ActiveDirectoryMembershipProvider SSL 來保護連線。
此外,若要進行並行系結,下列條件必須為 true:
目錄伺服器必須在 Windows Server 2003 上執行。
執行 ActiveDirectoryMembershipProvider 實例的 Web 服務器的作業系統必須支援並行系結 (,例如 Windows Server 2003) 。
使用並行系結時,不會在目錄中更新使用者的最後一次登入日期;因此, LastLoginDate 無法依賴 屬性。
開頭和尾端空格會從 username
參數修剪。
適用於
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應