Sitecore工作流程安全

时间:2016-05-11 22:05:49

标签: security sitecore workflow sitecore8

我有一个案例场景,我希望角色能够执行处于“审核状态”的工作流程命令(批准/拒绝)项目,但他们不应该能够编辑该状态的项目。

我尝试了以下操作:对于“审核”状态,为角色。

  1. 允许对内容项的角色的写访问权
  2. 拒绝访问“工作流状态写入”
  3. 允许访问“工作流程命令执行”
  4. 但这并不像预期的那样。我看到了这个消息 “你无法编辑这个项目,因为你没有写入权限。” (预期)。但是,拒绝“工作流状态写入”也隐藏了命令按钮

    我看到一些奇怪的模式 - 我开始允许随处写访问(内容项写入和工作流状态写) -

    1. 通过工作流程移动项目,到达审核步骤(现在具有按钮和编辑权限)。
    2. 现在我回到安全编辑器并为审核状态“拒绝工作流状态写入”。
    3. 我刷新内容项,我现在看到命令按钮和另一条消息“您无法编辑此项目,因为它处于您没有写入权限的工作流状态。”
    4. 这种奇怪的模式是我想要的行为,但是我似乎无法通过实时权限编辑来复制它。请帮忙。

1 个答案:

答案 0 :(得分:0)

Sitecore的工作方式是,如果您对该特定项目具有写入权限,则只能在工作流程中执行命令。

来自Workflow Reference document(为Sitecore 6编写,但仍然适用):

  

项目的有效访问权限可能会影响其行为   Workbox应用程序。用户必须具有对项目的写入权限   为了查看工作箱中的项目。请注意,用户可能没有   如果项目当前已签出(已锁定),则写入对项目的访问权限   另一个用户。

最后一部分可能对您有意义 - 虽然我不知道是否可以通过工作流推送项目,如果它已被其他人锁定...

唯一想到的另一个选择是在工作流的特定状态下以编程方式在Sitecore控件上设置DisableWebEdit属性,但这可能有点多。