實現ABP中Person類的許可權功能

角落的白板報發表於2016-08-16

選單項的顯示功能已經完全OK了。那麼我們就開始製作檢視功能吧。

首先測試介面是否正常

我們通過程式碼生成器將許可權和application中大部分功能已經實現了。那麼我們來測試下這些介面ok不。

瀏覽/apis/index來進入swaggerui文件。

        image

以上都是程式碼生成器生成的介面功能。

那麼我們先來測試下

/api/services/app/person/GetPagedPersonsAsync 介面, 根據查詢條件獲取聯絡人分頁列表

image

提示說我們未登陸。

那我們登入後再試試

image

登入後,再次實行查詢語句,提示我們沒有person.person許可權。

image

許可權說明

Required permissions are not granted. At least one of these permissions must be granted: Persons.Person

提示必須要有這個許可權,那麼我們看看我們的程式碼是怎麼實現的

image

也就是說此處了許可權判斷,我們沒有訪問這個類的許可權。那麼我們怎麼辦呢。

新增許可權

一個是新增許可權功能。那麼問題來了我們都沒有實現許可權頁面功能,怎麼新增呢。

我這裡採用最簡單的方法來實現,就是刪庫。讓我們在初始化admin的時候就將許可權賦予給他。有了思路我們就來實現他。

初始化許可權資訊

開啟EntityFramework類庫,找到HostRoleAndUserCreator和TenantRoleAndUserBuilder兩個類檔案

var personPermissions =
                 PermissionFinder.GetAllPermissions(new PersonAppAuthorizationProvider()).ToList();
                permissions.AddRange(personPermissions);

新增上面的程式碼到 permissions中

image

然後再次執行update-database。

我們執行專案然後登陸。

image

執行的結果就是成功了的。這個時候你就可以在介面中實現下crud的功能了。

到目前為止整體的crud功能就算是完成了。下一步就是實現他檢視功能了。

如果你覺得本文章對你有幫助,可以對我打賞哦。螢幕右方

群裡可以下載原始碼

交流QQ群:ABP程式碼生成器交流群

如此。The End

-返回目錄-  ABP打造一個《電話簿專案》

相關文章