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來保護連線。
此外,若要進行並行系結,下列條件必須成立:
目錄伺服器必須在 Windows Server 2003 上執行。
執行實例的 Web 伺服器的 ActiveDirectoryMembershipProvider 作業系統必須支援並行系結 (例如 Windows Server 2003) 。
使用並行系結時,目錄中不會更新用戶的最後一個登入日期;因此, LastLoginDate 無法依賴 屬性。
前置和尾端空格會從 username
參數修剪。