根据Authorization上的文档,我可以使用子权限将所有与父母相关的权限分组:
“权限可以具有父级和子级权限。虽然这不会影响权限检查,但有助于在UI中对权限进行分组。”
作为示例,我想创建一个父级Permission
“用户管理”
具有“创建”,“读取”,“更新”和“删除”子权限。
但是,在SetPermissions
中设置了权限之后,层次结构并没有持久化,因此我无法从UI的角度了解权限之间的相互关系,因为返回的JSON都被扁平化了,{ {1}}表看起来也不维护它。
这是我的代码段(图1)
这是我的AbpPermissions
表(图2)
我将对此表示任何建议或见解。
感谢和问候。
答案 0 :(得分:0)
Permission
已经具有Parent
和Children
属性的层次结构。
您可以使用以下方法检索定义的结构:
var rootPermissions = _permissionManager.GetAllPermissions()
.Where(p => p.Parent == null)
.ToList();
然后,您可以递归地迭代rootPermissions
并检查它是否被授予:
var isAssigned = _permissionChecker.IsGranted(permission.Name);