MVC應用程式請求密碼的功能 一

2022-02-13 15:24:01 字數 1872 閱讀 5345

經過一系列的練習,實現了會員註冊《mvc會員註冊》

登入《mvc應用程式實現會員登入功能》

以及登出《mvc會員登出功能cookie的應用》等功能。

還差一些什麼呢?會員忘記密碼時,能夠請求密碼或是重置自己的密碼。現在insus.net就實現這個功能。本次演示中,insus.net的實現思路是會員填寫註冊的資訊,如帳號和郵箱等,然後給郵箱傳送乙個超連結,使用者開啟鏈結,出現重置密碼的網頁。此時會員就可以在24小時有效的情況之下重置密碼。

開始吧,在資料庫建立一張表[dbo].[changerequestpassword],使用者請求密碼時,儲存會員每一次請求臨時的token資訊:

token欄位,是唯一字段,將用來傳送給會員。account和email是用來記錄會員請求的帳號與郵箱。而最後乙個欄位expire是乙個記錄過期的字段。到時程式會根據此字段的時間來鏈結判斷是否失效。

接下來,建立一張郵件參數列[dbo].[emailparameter]:

乙個專業的站點,也許不止使用乙個郵箱來傳送服務郵件,電子報,會員服務等,應該把主傳送的郵件列於此。

最後再建立一張表,是用來儲存所有訂閱等待的將要傳送郵箱位址。

接下來,建立乙個儲存過程,新增郵件引數:

在此insus.net建議網友不要嘗試使用上面的帳號與密碼登入上面所列的郵箱,密碼肯定不是所顯示的啦。

資料庫的設計還沒有完成,還有幾個儲存過程要寫:

上面的會員請求密碼儲存過程,首先判斷會員在請求密碼時所輸入的帳號與郵箱是否正確。

接著產生乙個全新的token碼。當然這個token碼,你也可以按照你的處理方式來產生,唯一性即可。

#36行**,是選擇在郵件引數中,使用哪乙個參考,即是說使用哪乙個郵箱來傳送。

#38與#39行**的**,是乙個真實正確的**,肯定的你需要更改你mvc應用程式中的**。

最後是把資訊插入至訂閱郵件列表的表中。等待程式來處理。

現在可以轉到mvc應用程式,開啟entities目錄下的memberentity.cs,新增乙個方法:

去控制器開啟membercontroller.cs新增兩個result:

建立requestpassword檢視,參考下圖的目錄與路徑:

到這裡,這部分算完成了,會員可以直接訪問此頁或是我們可以在登入介面中,放乙個鏈結,可以導向此頁:

最後來看看實時操作演示:

MVC應用程式請求密碼的功能 一

經過一系列的練習,實現了會員註冊 mvc會員註冊 登入 mvc應用程式實現會員登入功能 以及登出 mvc會員登出功能cookie的應用 等功能。還差一些什麼呢?會員忘記密碼時,能夠請求密碼或是重置自己的密碼。現在insus.net就實現這個功能。本次演示中,insus.net的實現思路是會員填寫註冊...

MVC應用程式實現會員登入功能

實現之前,我們已經把驗證成功的資訊存在cookie裡 mvc登入前準備寫好cookie 現在就可以實現真正的驗證與登入了。先去資料庫,寫好乙個登入證的儲存過程 dbo usp member loginverifyandgetinfo 儲存過程中有兩個判斷,使用者輸入乙個不存在的帳號,也要提示帳號或是...

MVC應用程式實現會員登入功能

實現之前,我們已經把驗證成功的資訊存在cookie裡 mvc登入前準備寫好cookie 現在就可以實現真正的驗證與登入了。先去資料庫,寫好乙個登入證的儲存過程 dbo usp member loginverifyandgetinfo 儲存過程中有兩個判斷,使用者輸入乙個不存在的帳號,也要提示帳號或是...