ASP.NET Core會議管理平臺實戰_三、認證、受權表遷移

能夠參考老張的這個文章:html

http://www.javashuo.com/article/p-quzzugfv-k.htmlsql

 

建立這個類庫

看一下IdentityUser是在哪個庫下面。Microsoft.Extensions.Identity.Stores
shiyon
使用Nuget去添加這個庫。去實現IdentityUser


這個類也是提早就建好的。CongerenceConrseIdentityUser

繼承IdentityUser

好比說咱們要對用戶禁用,默認是沒有這個參數的。如今咱們添加一個屬性,Disabled屬性
對Using進行刪除和排序,就是刪除多餘的Using引用

建立ConferenIdentityDbContext數據庫上下文的類



Nuget添加包



若是想添加其餘的類,也能夠去新建類,例以下面這個角色的類,繼承的也是IdentityRole這個角色相關的類數據庫

項目表的遷移

在ConferenceCourse.Core類庫下新建類ApiResources 裏面定義兩個常量

再新建類ApiScopes

一樣是定義兩個常量

ConferenceCourse.IdentityServer添加類庫ConferenceCourse.Core的引用

這樣Config類裏面的返回的ApiResource就添加引用了Core的命名空間的引用json

配置客戶端

第一個是認證個受權管理中心,第二服務端是基礎接口,第三個是會議前臺
也是複製過來的代碼,有一些代碼清理了,後續在來配置

這裏使用的是Credentials的方式,這裏不容許使用Token,由於token暴露在瀏覽器是不大安全的

第二個這裏用的是組合模式。

這裏是跨域

身份認證與受權服務,這裏容許的Scopes是ConferenceBase

對應的就是這個常量baseapi

startup配置

這是官方文檔,意思是直接拷貝官方文檔的這個地方的代碼

視頻中直接從本身寫好的代碼裏複製過去了 ,而後又進行了一些刪除和修改,我是真的蛋疼了。
添加包的引用

添加包的引用: IdentityServer4.AspNetIdentity

主要是這裏用到 IdentityServer4.AspNetIdentity這個包


這裏有兩個EF的上下文:ConferenceCourseIdentityDbContext,還有一個PersistedGrantDbContext

PersistedGrantDbContext是在這個包裏面

而後去添加這個包的引用


AddConfigurationStore是在哪一個命名空間下?

而後添加這個包的引用:IdentityServer4.EntityFramework

遷移直接讀的json文件內的配置

複製過來的這一段



這樣就完成了IdentityServer的配置。我只想說,這他媽的什麼玩意啊跨域

代碼完成後,進行講解

經過整理添加IdentityServer

這裏進行了封裝

這裏是開發者簽名的方式

初始化數據生成表


經過運行去進行遷移。先生成遷移類,二是運行代碼,而後地道用migrate
瀏覽器

下面進行遷移

看官方文檔是這兩個上下文。直接複製過去




這裏就會生成了



這裏還添加了這個ConferenceCourseIdentityDbContext這個庫的遷移


再去遷移ConferenceCourseDbContext


運行代碼就會從新生成數據庫,就是編譯代碼。就會自動去生成數據庫文件了。安全

講解本節課的主要內容

配置了標準的IdentityResource的幾個Resource openid

而後建立了兩個api resource,一個是基礎服務的,一個是會議管理平臺的Resource

而後是客戶端,一共有四個客戶端。一個是受權認證的客戶端,都採用ClientId ClientSecret的方式進行受權,也就是ClientCrendentials這種方式

而後是Startup

app.UseIdentityServer裏面就已經添加了app.UseAuthentication()。因此這裏不須要再添加app.UseAuthentication()這個中間件了


在這裏初始化數據庫,剛纔忘記了 ,而後須要從新編譯代碼,這樣就會生成數據庫和表了。

程序運行起來


打開sql server 數據庫



這個庫主要是對用戶的管理










 app

相關文章
相關標籤/搜索