Parent/child 权限分组

Parent/child permissions grouping

根据Authorization上的文档,我可以使用子权限将所有相关权限分组到他们的父级:

"Permissions can have parent and child permissions. While this does not affect permission checking, it helps to group the permissions in the UI."

举个例子,我想创建一个父对象 Permission "User Management" 具有 "Create" 、"Read"、"Update" 和 "Delete" 子权限。

然而,在 SetPermissions 中设置我的权限后,层次结构不会保留在任何地方,所以我无法从 UI 的角度了解权限之间的关系,因为JSON 返回的都是扁平化的, AbpPermissions table 看起来也不像它维护的那样。

这是我的代码片段(图 1)

这是我的 AbpPermissions table(图 2)

如果有任何建议或任何见解,我将不胜感激。

谢谢并致以最诚挚的问候。

A Permission 已经是分层的,具有 ParentChildren 属性。

您可以使用以下方法检索您定义的结构:

var rootPermissions = _permissionManager.GetAllPermissions()
    .Where(p => p.Parent == null)
    .ToList();

然后您可以递归迭代 rootPermissions 并检查它是否被授予:

var isAssigned = _permissionChecker.IsGranted(permission.Name);