在介紹分配方法之前,我們必須理解許可權關係,這裡面涉及到三個物件:使用者,角色,許可權,許可權分配到角色,角色再分配到使用者,當某個使用者屬於某個角色後,這個使用者就具有了角色所包含的許可權列表,比如現在有乙個資訊管理員角色,這個角色包含了資訊刪除許可權,當張三這個使用者具有資訊管理員角色後,張三就具備了資訊刪除的許可權。在某些特殊場景下,許可權也可以直接分配到使用者,也就是說可以直接把某些特定的許可權,繞過角色,直接分配給使用者。microsoft.aspnetcore.identity.entityframeworkcore框架中都提供了這樣的支援。
先把框架中主要的業務物件類介紹一下:
identityuser:表示乙個使用者資訊
identityrole:表示乙個角色資訊
identityroleclaim:表示角色具有的許可權
identityuserclaim:表示使用者具有的許可權
identityuserrole:表示使用者角色關係
基本概念理解後,下面我們就來看一下如何進行許可權分配。
1,分配許可權到角色:microsoft.aspnetcore.identity.entityframeworkcore中提供了rolemanager類,類中提供了把許可權分配到角色的方法:
taskaddclaimasync(trole role, claim claim)
第乙個引數表示對應的角色物件,第二個引數表示乙個許可權資訊
2,分配許可權到使用者:microsoft.aspnetcore.identity.entityframeworkcore中提供了usermanager類,類中提供了把許可權分配到使用者的方法:
taskaddclaimasync(tuser user, claim claim)
第乙個引數表示對應的使用者物件,第二個引數表示乙個許可權資訊
3,分配使用者到角色:用到的同樣是usermanager類,使用的方法:
addtoroleasync(tuser user, string role)
第乙個引數表示的是使用者物件,第二個是角色的名稱
4,獲取角色當前具有的許可權列表:
task> rolemanager.getclaimsasync(trole role)
5,獲取使用者當前具有的許可權列表:
task> usermanager.getclaimsasync(tuser user)
遠端連線myqsl分配許可權
grent all privileges on to root identified by root flush privileges grant 分配的許可權 on 資料庫名.表名 使用者 主機ip identified by 使用者密碼 all privileges表示所有的許可權 root分配...
mysql 建立使用者 分配許可權
mysql建立使用者的方法分成三種 insert user表的方法 create user的方法 grant的方法。1 通過create user命令進行建立使用者 指令碼 create user username host identified by password 其中密碼是可選項 例子 cr...
建立表空間 使用者 分配許可權
建立表空間 size 500m autoextend on next 50m maxsize unlimited extent management local uniform segment space management auto size 100m autoextend on next 50...