Owin+ASP.NET Identity淺析系列(三)架構結構分析

來源:互聯網
上載者:User

標籤:自動產生   highlight   郵件   ice   產生   mem   style   png   sign   

在今天,讀書有時是件“麻煩”事。它需要你付出時間,付出精力,還要付出一份心境。--僅以《Owin+ASP.NET Identity淺析系列》來祭奠那逝去的……

前兩篇部落格僅僅說了下功能如何?,這篇部落格來分析IdentityModels、IdentityConfig、Startup.Auth類檔案在Owin+ASP.NET Identity架構中起到的作用

  IdentityModels類檔案存放的是使用者、角色、資料庫上下文等實體類

  IdentityConfig類檔案存放的是使用者管理員、角色管理器、資料庫上下文管理器和各種服務,比如郵件服務、簡訊服務等

  Startup.Auth類檔案存放的是整套Membership架構的配置資訊

大概瞭解了這些類檔案的作用之後,我們可以看一下微軟幫我們自動產生的程式碼都具備哪些功能?那些是需要我們自己去實現的?

 

1、首先我們來看一下IdentityModels類檔案,這個類裡面存放了ApplicationUser和ApplicationDbContext實體類

備忘:看到這兩個類,我們可以猜測一下,那大概我們是可以系統管理使用者資訊的,還有資料庫各個表的管理,因為有資料庫上下文嘛

2、再來看一下IdentityConfig類檔案,這個類裡面存放了EmailService、SmsService、ApplicationUserManager、ApplicationSignInManager等服務和管理器

備忘:通過類名已經很明確了,EmailService是提供郵件服務的,SmsService是提供簡訊服務的,ApplicationUserManager(使用者管理員)為我們提供了使用者管理功能,ApplicationSignInManager(登入管理器?先叫這個名字把)為我們提供了登入資訊管理器

 

3、最後,看一下Startup類(先簡單看下各種管理器的建立和membership架構的一些基礎配置)

備忘:看到這裡(竊笑一下),發現前面定義的各種管理器都被放到了OwinContext裡進行管理了,而且這裡還有關於使用者登入的一些基礎配置

 

4、看完IdentityModels、IdentityConfig和Startup,就剩下一個,我們如何擷取這些微軟為我們提供的牛牛的各種管理器了?有了這些管理器,就可以開始一個簡單的會員登入註冊並管理這些會員的項目了

protected IAuthenticationManager AuthenticationManager { get { return HttpContext.GetOwinContext().Authentication; } }protected ApplicationUserManager UserManager { get { return HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>(); } }

 備忘:好吧,擷取這些管理器就是這麼簡單!!!有會員可能就會員角色,但是我們發現自動產生的程式碼中並沒有關於角色的相關代碼,所以角色這塊需要我們自己通過擴充現有架構來實現,請關注下一篇部落格《實現使用者角色》

 

Owin+ASP.NET Identity淺析系列(三)架構結構分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.