我們有一個忘記密碼系統,允許用戶創建一個新密碼。它正在通過LDAPS抵禦Active Directory。現在,一旦用戶創建新密碼,我們必須以管理員身份綁定,將密碼更改爲隨機字符串,然後使用該隨機字符串綁定到用戶帳戶,然後將密碼更改爲他們提供的密碼。我們這樣做是因爲我們有最近5次使用密碼的密碼歷史記錄策略。LDAP作爲無密碼的用戶綁定?
現在這工作正常,但密碼歷史具有隨機字符串作爲以前的密碼之一。有沒有辦法與用戶綁定,但沒有密碼?在此之前,用戶將通過安全問題進行身份驗證。
我們有一個忘記密碼系統,允許用戶創建一個新密碼。它正在通過LDAPS抵禦Active Directory。現在,一旦用戶創建新密碼,我們必須以管理員身份綁定,將密碼更改爲隨機字符串,然後使用該隨機字符串綁定到用戶帳戶,然後將密碼更改爲他們提供的密碼。我們這樣做是因爲我們有最近5次使用密碼的密碼歷史記錄策略。LDAP作爲無密碼的用戶綁定?
現在這工作正常,但密碼歷史具有隨機字符串作爲以前的密碼之一。有沒有辦法與用戶綁定,但沒有密碼?在此之前,用戶將通過安全問題進行身份驗證。
AD中有兩個密碼更改操作 - 重置和更改。重置是一個管理操作(這是你在這裏做的)。當您重置時,您不需要提供當前密碼。更改密碼是最終用戶操作,用戶除了輸入新密碼外,還必須提供其當前密碼。
如果您更改自己的密碼代碼重置並在具有重置密碼權限的用戶上下文中運行,那麼您應該很好。如果您需要在重置期間遵守密碼策略,則還可以通過特殊的LDAP控制來執行此操作。
你是說有一個LDAP控制,使密碼重置榮譽密碼政策?什麼是控制? – Brandon 2012-03-12 19:35:30
是的 - 請參閱此博客中有關使用它的示例http://blog.msresource.net/2011/05/30/resetting-an-ad-ds-password-and-honouring-password-history-and-age-使用最ldap_server_policy_hints控制/。知識庫文章http://support.microsoft.com/?id=2386717也 – 2012-03-14 00:47:47
我這樣做的方式不同。我在用戶的輸入下創建一個動態對象,並在幾天內過期,並生成一個uid屬性;向他們發送一個包含該uid的鏈接;導致更改密碼頁面,但通過不同的LoginModule登錄,該登錄模塊可以看到UID參數,檢查它,如果存在並且正確記錄它們。換句話說,一種「票據」登錄。
這並綁定/查找重新連接本身作爲應用程序本身,而是因爲登錄的連接被立即關閉,就像在實際應用中所有其他LDAP連接實際上沒有問題的代碼。當對用戶自己的條目做任何事情時,例如更改密碼,更新配置文件,使用我在會話中保存的密碼以該用戶身份進行重新連接。當用戶對LDAP執行其他任何操作時,它確實是應用程序正在執行此操作,因此應用程序綁定/重新連接如上完成。 IOW應用程序本身就是一個用戶(或甚至幾個不同級別的用戶)。
因爲UID是比密碼更長的時間,因爲它包含的條目兩天後到期,這一切,而不是生成一個臨時密碼,並圍繞航運更安全。如果通過故障單登錄到達,更改密碼頁面也可能存在安全問題。
密碼出現在密碼歷史記錄中時出現了什麼問題?這就是它的目的。 – EJP 2012-03-08 22:56:49