ASP.NET會員機制在2005年被設計來解決會員功能的需求,包含表單驗證及儲存會員資料的DB,但在現在網頁連結的選項已經有越來越多種方式,像twitter、FB或Gmail等等的方式取的存取授權(Authorization)或認證(Authentication),而原先ASP.NET會員機制的設計並沒有提供擴充其他權限的機制,變成如果要串接其他登入的方式,就必須在而外設計授權所需的Table,因此將架構從新設計以OWIN做基礎,讓會員機制不直接綁定表單驗證,中間抽出一層抽象層。
因此設計出了ASP.NET Identity的架構,這架構的資料表已縮減成AspNetRoles
、AspNetUserClaims
、AspNetUserLogins
、AspNetUserRoles
和AspNetUsers
這五張資料表,這是一個很有彈性的框架,可以依據需求客製化局部的功能,而為什麼說很有彈性呢?
圖片來源: https://www.teamscs.com/2014/11/asp-net-identity-framework/
好處:
1.支援Unit Test(單元測試)
2.支援角色分類
3.支援claims-based(將認證和授權切開,各個Role的權限設定)
4.已整合FB、Twitter、Google的OAuth登入,非常好擴充
5.拋棄以往架構固定無法變動的資料庫
6.以OWIN為基礎
資源:
https://www.teamscs.com/2014/11/asp-net-identity-framework/
https://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity
https://dotblogs.com.tw/clark/2016/02/09/051015
http://www.cnblogs.com/jesse2013/p/aspnet-identity-claims-based-authentication-and-owin.html
http://www.slideshare.net/EricPingWang/aspnet-mvc-identity
https://blogs.msdn.microsoft.com/msdntaiwan/2013/09/09/one-asp-net-asp-net-mvc-5/
http://blog.miniasp.com/post/2014/04/13/ASPNET-Identity-Get-Access-Token-Facebook.aspx
最近忙太晚都沒時間打Sample,只能先記著有空要來補一下了QQ