我有两种类型的网站。第一个是数据站点,包含大量集中更新的项目。第二个是第一个的克隆,可以由本地管理员修改以反映本地需求。
我希望我的本地管理员能够批准从数据站点推送的更改,但不能访问任何安全工具(为所有站点集中管理)。因此,我的数据站点有不同的角色,克隆站点有不同的角色。我的本地站点管理员应该只有数据站点的读取访问权限。
问题是,尽管我已经为我的本地管理员删除了对安全工具的访问,但如果他们克隆的某个数据站点项目的项目安全性发生了更改,则会将此更改作为他们可以查看/接受/拒绝的更改推送给他们。我的本地管理员没有本地克隆站点的“管理”访问权限,所以他们不应该能够这样做。但是,他们可以接受更改,在这种情况下,他们的克隆现在将具有与从中克隆的项目相同的访问设置。这实际上意味着我的本地管理员现在对克隆只有只读访问权限。
有没有办法关闭它,同时仍然允许本地管理员接受内容更改?
发布于 2011-04-07 16:20:54
回答我自己的问题
有人建议我将此报告为bug。没有权限设置安全性的用户不应该能够批准或拒绝对安全性的更改,因此我将获得一个支持票证。
对于我自己的实现,我确实有一个解决方案:
所有安全设置都基于继承,没有明确禁止的操作。要获得对某个权限的访问权限,必须显式地授予用户/角色该权限,或者从内容树上更高的项目继承该权限。如果我在树中将克隆站点和源站点都向下移动一个级别,并为每个站点创建一个文件夹,那么我可以在源项目的文件夹上设置安全性,但在克隆站点的主项目上覆盖安全性源站点的主项目永远不会有显式的安全设置要覆盖。
EDIT:收到了支持人员的反馈。他们认为这是“预期行为”:
“克隆”是“主”项和“从”项之间的一种特殊关系,它比“代理”项具有更高的置信度。
这在安全配置方面是一个相当大的限制,并且与Sitecore安全体系结构的其余部分直接冲突。
https://stackoverflow.com/questions/5535945
复制相似问题