2012-03-06 49 views
1

我需要允许一组用户只能访问内容树中的一个节点,并且只需要一个工作流程。那么它应该看起来好像Sitecore服务器只包含一个网站。只能看到一个工作流程的Sitecore角色

它看起来好像全部通过树具有读取权限的“everyone”角色迫使我明确拒绝内容树和其他工作流中其他节点上的写入访问。

但是,如果我这样做,显式拒绝通过继承传递给其他用户。

我有这样的角色:

  • 第一个网站编辑
    • 所有工作流程否认,但一个
    • 所有内容节点否认,但一个
  • 第二个网站编辑
    • 所有工作流程都被拒绝,但一个
    • 否认所有内容节点,但一个
  • 超级真棒角色
    • 包含“第一站点编辑器”的作用,以获得它的权利。
    • 包含“First Site Editor”角色以获得其权利。

我该怎么办?我是否被迫编辑“每个人”角色?我不想因为我不得不做大量的测试来确保我的编辑不会无意中影响到其他组。

回答

1

关于工作流程和用户有权访问的内容,有两点需要注意。首先,用户必须具有写入权限才能在项目上执行工作流程命令。它根本就没有。甚至可以在他们的工作箱中看到它。这只是为了编辑而已,这只是基本的安全措施。不太为人所知的是:如果项目位于工作流程中,则用户还必须拥有工作流程状态本身的工作流程状态访问权限。

因此,如果一个项目处于工作流状态“等待批准”并有2个选项。批准和拒绝,您需要设置该角色或用户在“正在等待工作流程状态写入审批“工作流程状态项目。然后,为了让他们看到并能够执行批准或拒绝操作,您需要为他们提供工作流程状态执行权限,以便他们能够看到所需的操作。如果他们没有设置所有这些访问,工作流命令甚至不会显示给用户。

1

我认为你可以拒绝对content节点的后代的读取访问权限,然后明确地设置对你要显示它们的content项目的单个后代节点的读访问权限。

E.g.

  • content [否认后裔读访问]
    • site1
    • site2 [允许读该项目及其分项]
    • site3

如果这样做不工作(我没有自己尝试)让我知道,我会圈回到它。