abp vnext 開發快速入門 3 實現許可權控制

2022-05-21 15:15:08 字數 1021 閱讀 3509

上篇講了abp vnext 實現了簡單的增加操作的例子。刪除更新查詢基本類似,這裡就不講了,接下來說下如何實現角色許可權控制。

再說之前,先說下如果想更加透徹的理解abp vnext的許可權控制,最好是先要了解identityserver4 和 asp.net core 基於策略的授權。如果你說我不想要去了解那麼多。我就想快點能實現功能,那麼就往下看吧。

我這裡主要說的是許可權相關的控制,其實abp實現許可權控制就是把設定好的乙個個許可權當成了乙個個的策略,這裡講如何去實現。

var categorymanagement = mygroup.addpermission("category_management");

categorymanagement.addchild("category_management_create");

[authorize("category_management_create")],如下

/// /// 建立類別

///

///

///

[authorize("category_management_create")]

public async taskcreateasync(createcategorydto input)

這樣其實就基本快要完成了,因為在宿主服務裡配置了授權認證伺服器如下:

"authserver":

這樣之前通過登入獲取到的jwttoken過來後會自動用授權認證伺服器介面進行驗證,驗證通過則通過。不過在這之前,還少乙個東西。就是剛剛設定的許可權(category_management_create),要加到授權認證伺服器的資料庫(identifyserver4資料庫)裡,不然驗證是通過不了的,這個許可權可以通過宿主服務的編譯,發布,自動更新到identifyserver4資料庫。

這樣就實現了基本的許可權校驗。其餘的細節就是在後台進行許可權的角色相關的設定,這塊我目前想到的可以用授權伺服器提供的介面在後台進行設定,但是不知道abp vnext是否已經提供相關的方法。

基於 abp vNext 的快速開發模板

基於abp已經最小化整合了各種專案開發所需的元件,redis swagger autofac serilog 資料遷移 jwt 多語言支援等,支援多資料庫 mysql sqlserver sqlite mongodb 自由切換,可以根據業務需求自行簡單修改,真正的開箱即用,直接開幹寫業務。dotne...

C 快速入門 3

乙個.h檔案只能被編譯一次,如果你在多個檔案中包含,那就會被編譯多次,從而程式出錯,那麼在c中,你可以這樣來控制只包含一次 ifndef programe define porgrame 這裡寫定義的內容 typedef struct nodenode endif通過如上方法,不過你引入這個標頭檔案...

Python快速入門(3)

資料結構 列表的元素可變,用 or list 建立。元祖的元素不可變,用 or tuple 建立。集合的元素不可重複,用 or set 建立。字典的存放k v,用dict or 建立。del 按照索引 刪除資料結構元素 or 變數 list list.extend l a len a l list....