前言
在上一篇文章中,我們學習了 CookieAuthentication 中間件,本篇的話主要看一下 Identity 本身。
最早2005年 ASP.NET 2.0 的時候開始, Web 應用程序在處理身份驗證和授權有了很多的變化,多了比如手機端,平板等,所以那個時候為了適應這種變化就引入了ASP.NET Membership,但是隨著時間的發(fā)展一些社交網(wǎng)站或者程序聚集了大量的用戶,比如Facebook,Twitter,QQ等,這個時候用戶希望能夠使用他們在這些社交站點身份來登陸當前網(wǎng)站,這樣可以免除注冊這些瑣碎而又必要的操作,用戶也不必記住大量的賬戶密碼。
又隨著互聯(lián)網(wǎng)的發(fā)展,越來越多的開發(fā)者不只是關注具體業(yè)務代碼的編寫,轉變?yōu)殚_始關注應用程序代碼的單元測試,這已經(jīng)是開發(fā)者關注的核心。所以在2008年,ASP.NET 團隊引入了 MVC 框架,這樣來幫助開發(fā)者很方便的構建單元測試,同時開發(fā)者希望他們的 Membership 系統(tǒng)也能夠做到這一點。
基于以上,ASP.NET Identity 應運而生。
Identity 要解決的問題
很多開發(fā)人員說他們不愿意使用Identity,自己實現(xiàn)要方便的多,OK,那么需求來了?以下就是我針對此次任務給你提出來的需求。
身份系統(tǒng)
- 可以同時被所有的ASP.NET 框架使用(Web MVC,Web Forms,Web Api,SignalR)
- 可以應用于構建 Web, 手機,存儲,或者混合應用。
能夠對用戶資料(User Profile)很方便的擴展
- 可以針對用戶資料進行擴展。
持久化
- 默認把用戶信息存儲在數(shù)據(jù)