WebSecurity我們的模塊檢索密碼功能,以便如果用戶忘記密碼,他可能會檢索密碼,系統會通過電子郵件發送它。我們在MVC4上使用SimpleMembership。我檢查了WebSecurity類,但它沒有「GetPassword」方法。我試圖搜索網絡,而我發現這個實現。WebMatrix.WebData簡單成員資格取回密碼
var user = System.Web.Security.Membership.GetUser(userName);
password = user.GetPassword();
GetPassword發生錯誤,提示「不支持指定的方法」。我還在web.config中添加了以下內容,但即使用戶對象具有值,我仍然遇到了錯誤。
<membership defaultProvider="simple">
<providers>
<clear />
<add name="simple" type="WebMatrix.WebData.SimpleMembershipProvider,WebMatrix.WebData"
enablePasswordRetrieval="true"
enablePasswordReset="true" requiresQuestionAndAnswer="false"/>
</providers>
...
是否有其他方法檢索用戶的簡單成員資格密碼?我可以在webpages_Membership表上查詢,但密碼已加密。任何人都知道這個解密算法?我嘗試了FormsAuthentication.Decrypt(encryptedpassword);
,但是我收到了錯誤「'encryptedTicket'參數的值無效。」儘管傳遞的密碼是加密的。
請幫忙。
只是一個建議,我認爲最好給他們發一封電子郵件,讓他們更改/重置舊密碼而不是顯示舊密碼。 – WannaCSharp
@WannaCSharp這是其他模塊,我們也有。我們的項目有兩個與密碼相關的模塊。 1.忘記忘記密碼的電子郵件的密碼。 2.重置允許用戶重置密碼的密碼。 –
我不認爲有一種方法可以用SimpleMembership以明文方式檢索密碼,因爲它使用單向散列來加密密碼。 – WannaCSharp