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