1.ASP.NET Identity 適用所有類型的asp.net程式 ASP.NET MVC, Web Forms, Web Pages, Web API, and SignalR。 2.非常方便的擴展用戶數據欄位。只需一行代碼 設置好你的資料庫連接信息: 修改context的名稱: 打開試圖-》... ...
1.ASP.NET Identity 適用所有類型的asp.net程式 ASP.NET MVC, Web Forms, Web Pages, Web API, and SignalR。
2.非常方便的擴展用戶數據欄位。只需一行代碼
設置好你的資料庫連接信息:
修改context的名稱:
打開試圖-》其他視窗-》程式包管理控制台,運行 “codefirst” 3部曲:
添加的數據列乖乖的在這躺著了:
需要註意的是,birthday是datetime的數據類型會出現這個問題
解決方法就是每次都給這個birthday賦值,或者把這個欄位設置成可空類型。下麵就是給birthday生日賦值了
3.幾種獲取用戶信息的方法:
控制器
視圖
結果
4.登陸和註冊
總之是有個叫ApplicationSignInManager的東西,獲取方式如下,至於為什麼要這樣獲取,別操那麼多心先。OWIN是啥?就是OWIN唄!管那麼多幹嘛!
HttpContext.GetOwinContext().Get<ApplicationSignInManager >();
然後:基本套路,一個方法一定有同步和非同步2個方法,你看著用!
註冊完成後一般的套路:(這裡註冊完成順便幫忙登陸了)
登陸也是一樣的套路:註意有幾個結果,是什麼玩意之後再說。反正這個註冊登錄基本就這樣,這需求已經滿足大部分破網站了。
5.郵件確認激活的功能
AccountController中,去掉如下的註釋:
原有的註冊完成後自動登陸的代碼註釋掉,因為有了激活的機制嘛!
在這個文件中補全email service的代碼,目前是空方法,smtp伺服器和用戶名密碼自行搞定!
註冊用戶後資料庫,這個欄位還是false
妥妥的收到一封郵件,至於這個token怎麼生成的,不要在意這些細節,能用就行。
到這一步資料庫中是否驗證已經變化了
至於賬號激活能幹嘛,沒激活不能幹嘛,您自己玩弄自己的業務需求。
6.忘記密碼
在login的視圖中去掉這部分的註釋
account 控制器中這段代碼註釋去掉
點擊忘記密碼
收到郵件,點擊郵件中的鏈接,調到這個頁面,設置後就ok了