SenseNet 如何在内容树上建立权限系统

How SenseNet Permission System on The Content Tree

我仍在努力了解 SenseNet 权限系统的工作原理。

为此,我阅读了 SenseNet 维基页面并完成了以下用例图:

我不理解“权限树”、“显式列表”、“有效列表”的概念以及 Permission Queries wiki 页面中的可视化树。

能否解释一下 wiki 页面中的示例。

谢谢,

一个权限条目是一个身份(用户或组)对内容的任何权限设置。例如:首先,您为 User1 授予 /Root/Folder1 的打开权限。这是一个 显式条目 。在下一步中,您允许 User2 对同一内容具有 Open 权限。这两个设置是我们称之为显式列表的两个显式条目。这类似于 Windows ACL。

此列表影响整个子树,因为内容的权限可以从父级继承。例如 User1User2/Root/Folder1 具有 Open 权限/Document1 但这些权限是继承的 来自 /Root/Folder1。所以 Document1 有两个权限条目,即使您没有对此内容进行任何设置。这些条目是我们所说的有效条目有效列表.

权限树是一棵虚拟树,它是大内容树的变异,只包含有明确权限条目的内容。 事实上,它是一个存在的对象,驻留在内部的权限系统中,它是为了更快的评估目的而构建的。 通过内容链更容易理解。例如你有一个深度文档:/Root/Sites/DemoSite/Workspace1/Doclib/Folder/Document1 并且以下内容具有显式条目:Root、DemoSite、Doclib 和 Document1。那么权限树只包含这些节点: /Root/DemoSite/Doclib/Document1。在此树中,Document1 的父级是 Doclib。