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
已经是分层的,具有 Parent
和 Children
属性。
您可以使用以下方法检索您定义的结构:
var rootPermissions = _permissionManager.GetAllPermissions()
.Where(p => p.Parent == null)
.ToList();
然后您可以递归迭代 rootPermissions
并检查它是否被授予:
var isAssigned = _permissionChecker.IsGranted(permission.Name);
根据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
已经是分层的,具有 Parent
和 Children
属性。
您可以使用以下方法检索您定义的结构:
var rootPermissions = _permissionManager.GetAllPermissions()
.Where(p => p.Parent == null)
.ToList();
然后您可以递归迭代 rootPermissions
并检查它是否被授予:
var isAssigned = _permissionChecker.IsGranted(permission.Name);