2011-10-03 135 views
1

應用程序當前狀態 我們目前獲得了龐大的用戶羣,並且從第一天開始需要這樣一個必需的電子郵件=「假」設置。 所以我們的密碼恢復是通過UserName完成的。ASP.Net會員密碼恢復

問題/問題 突然間企業希望通過用戶名或電子郵件進行密碼恢復。但是,我們從來沒有在系統中使用獨特的電子郵件(在少數情況下沒有電子郵件),我們在系統中有不少重複的電子郵件。例如,[email protected]分配給10個不同的用戶名。

如何以最佳方式解決這種情況? 我一直在想,如果用戶通過電子郵件選擇,我會繼續併發送與此電子郵件關聯的所有用戶名。這是一個很好的選擇嗎?

想在此有更多的想法。我相信以前有人應該有這樣的問題。

+0

「我一直在想,如果用戶通過電子郵件選擇,我會繼續發送與此電子郵件相關的所有用戶名,這是一個不錯的選擇嗎?」讓用戶爲其他用戶的帳戶啓用密碼恢復是一個很好的選擇嗎?不,這不是一個好主意。 –

回答

0

當帳戶設置時,它是否發送驗證電子郵件以確保人們只使用他們擁有的電子郵件地址進行訂閱?如果是這樣,那麼你可以發送所有用戶名的安全,在電子郵件的所有者知識創造他們。如果你不需要驗證,那麼任何人都可以獲得電子郵件並閱讀他人的帳戶。

+0

基本上,我們將使用提供的電子郵件地址(在密碼恢復期間)在數據庫中搜索用戶,然後將有關用戶名憑據的電子郵件發送到提供的電子郵件地址。 – DotNetInfo

0

您可以使用電子郵件縮小到單個用戶名恢復範圍。例如:

Given a set of 10 usernames with the same email "[email protected]" 
When I click "Recover Password By Email" 
And I enter "[email protected]" 
Then I should see the message "select which username you want to recover" 
And I should see a list of the 10 usernames 

When I click on the username "username1" 
Then I should receive a password recovery email for the "username1" account 
     at the "[email protected]" address 

這樣,你仍然在做的用戶名恢復,但只有當電子郵件有超過1輪的比賽。

我不喜歡將密碼恢復發送給所有用戶名的想法。用戶可能只會忘記一個密碼​​。

+0

讓用戶選擇要恢復的密碼是*仍然*有問題,但是,不是嗎? –