前面的文章介紹了如何進(jìn)行權(quán)限控制,即訪問控制器或者方法的時候,要求當(dāng)前用戶必須具備特定的權(quán)限,但是如何在程序中進(jìn)行權(quán)限的分配呢?下面就介紹下如何利用Microsoft.AspNetCore.Identity.EntityFrameworkCore框架進(jìn)行權(quán)限分配。

在介紹分配方法之前,我們必須理解權(quán)限關(guān)系,這里面涉及到三個對象:用戶,角色,權(quán)限,權(quán)限分配到角色,角色再分配到用戶,當(dāng)某個用戶屬于某個角色后,這個用戶就具有了角色所包含的權(quán)限列表,比如現(xiàn)在有一個信息管理員角色,這個角色包含了信息刪除權(quán)限,當(dāng)張三這個用戶具有信息管理員角色后,張三就具備了信息刪除的權(quán)限。在某些特殊場景下,權(quán)限也可以直接分配到用戶,也就是說可以直接把某些特定的權(quán)限,繞過角色,直接分配給用戶。Microsoft.AspNetCore.Identity.EntityFrameworkCore框架中都提供了這樣的支持。

先把框架中主要的業(yè)務(wù)對象類介紹一下:

IdentityUser:表示一個用戶信息

IdentityRole:表示一個角色信息

IdentityRoleClaim<TKey>:表示角色具有的權(quán)限

IdentityUserClaim<TKey>:表示用戶具有的權(quán)限

IdentityUserRole<TKey>:表示用戶角色關(guān)系

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動軟件開發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式