簡體   English   中英

LDAP以沒有密碼的用戶身份綁定嗎?

[英]LDAP bind as a user without password?

我們有一個忘記密碼系統,該系統允許用戶創建新密碼。 它違反了LDAPS上的Active Directory。 現在,一旦用戶創建新密碼,我們就必須以管理員身份綁定,將密碼更改為隨機字符串,然后使用該隨機字符串綁定到用戶帳戶,然后將密碼更改為他們提供的密碼。 這樣做是因為我們有最近5個使用過的密碼的密碼歷史記錄策略。

現在可以正常工作,但是密碼歷史記錄具有隨機字符串作為以前的密碼之一。 有什么方法可以綁定用戶但沒有密碼? 在此之前,將通過安全問題對用戶進行身份驗證。

我用不同的方式做。 我在用戶條目下創建了一個動態對象,該對象將在幾天后過期,並具有一個生成的uid屬性。 向他們發送包含該uid的鏈接; 會進入更改密碼頁面,但通過另一個看到UID參數的LoginModule登錄,對其進行檢查,並檢查是否存在並正確登錄。換句話說,這是一種“票證”登錄。

查找的代碼本身將綁定/重新連接為應用程序本身,但實際上並不重要,因為登錄連接會立即關閉,就像應用程序中的所有其他LDAP連接一樣。 當對用戶自己的條目進行任何操作(例如更改密碼,更新配置文件)時,將使用我在會話中保存的密碼以該用戶的身份完成重新連接。 當用戶對LDAP執行其他任何操作時,實際上是應用程序在執行此操作,因此應用程序綁定/重新連接如上所述完成。 IOW應用程序本身就是一個用戶(甚至是具有不同權限級別的幾個不同用戶)。

因為UID比密碼長得多,並且因為包含它的條目會在一兩天后過期,所以這比生成臨時密碼並隨身攜帶它更安全。 如果通過工單登錄進入更改密碼頁面,則可能還會有安全問題。

AD中有兩個密碼更改操作-重置和更改。 重置是一項管理操作(這是您在這里執行的操作)。 重置時,無需提供當前密碼。 更改密碼是最終用戶的操作,根據該密碼,除了新密碼外,用戶還必須提供其當前密碼。

如果您更改代碼以進行密碼重置,並且在具有重置密碼權限的用戶的上下文中運行,那么您應該一切順利。 如果您需要在重置期間遵守密碼策略,則可以通過特殊的LDAP控件來執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM