我目前使用默認的會員供應商運行MVC2網站。一切都很好,但現在我找到了忘記密碼功能的需求。使用默認的asp.net會員供應商在MVC 2中重置/忘記密碼功能
經過一些Google搜索後,我發現唯一的優秀實現是基於使用機器密鑰來實現安全性或問答功能。
這些實現的問題是我已經有了一個相當大的用戶羣。我現在不能將我的密碼換成機器密鑰,因爲我已經使用了散列系統。
passwordFormat="Hashed"
我也不想強迫現有用戶在事後添加問題和回答。問題和答案也不太理想,就好像他們忘記了這些信息一樣,他們也不幸運。
我的理想實現是用戶將點擊忘記密碼,輸入他們的用戶名或電子郵件(理想的電子郵件)。然後,他們會收到一封電子郵件,其中包含他們當前的密碼(我相信這對我使用的散列方法來說是不可能的),一個新的隨機密碼被告知要更改,或者帶有令牌的鏈接,讓他們在點擊後重置密碼它。
有沒有什麼好的指南可以快速做到這一點?我所能找到的每件事都與使用機器密鑰方法或問題和答案有關。我很驚訝我找不到任何東西,因爲這是非常常見的網絡功能。我很驚訝它甚至不是MVC附帶的默認成員提供者的一部分。
我意識到令牌是最安全的,隨後是隨機密碼,但現在我對這三種情況都非常開放。
如果您需要更多信息,請讓我知道。