iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 29
0

ASP.NET Membership

ASP.NET會員機制在2005年被設計來解決會員功能的需求,包含表單驗證及儲存會員資料的DB,但在現在網頁連結的選項已經有越來越多種方式,像twitter、FB或Gmail等等的方式取的存取授權(Authorization)或認證(Authentication),而原先ASP.NET會員機制的設計並沒有提供擴充其他權限的機制,變成如果要串接其他登入的方式,就必須在而外設計授權所需的Table,因此將架構從新設計以OWIN做基礎,讓會員機制不直接綁定表單驗證,中間抽出一層抽象層。

ASP.NET Identity

因此設計出了ASP.NET Identity的架構,這架構的資料表已縮減成AspNetRolesAspNetUserClaimsAspNetUserLoginsAspNetUserRolesAspNetUsers這五張資料表,這是一個很有彈性的框架,可以依據需求客製化局部的功能,而為什麼說很有彈性呢?

http://ithelp.ithome.com.tw/upload/images/20170112/20103808sOvJdipf1q.png

圖片來源: https://www.teamscs.com/2014/11/asp-net-identity-framework/

  • AspNetUser:儲存使用者資訊,如:姓名、密碼或照片等
  • AspNetRole: 設定使用者的權限,如:更改欄位的權限、閱讀資料的權限等
  • AspNetUserClaim: 儲存使用者授權的狀態
  • AspNetUserLogin:儲存登入的資訊,如:Facebook, Google, Twitter and Microsoft的帳號可以被用在ASP.NET Identity

好處:
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


上一篇
Day28_MVC_Filter和Session
下一篇
Day30_結束與開始
系列文
從Asp.Net MVC5的起跑點認識現代網站30

尚未有邦友留言

立即登入留言