【问题标题】:Sitecore Workflow SecuritySitecore 工作流安全
【发布时间】:2016-05-12 15:57:02
【问题描述】:

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

我尝试执行以下操作:对于“审查”状态,对于角色。

  1. 允许对内容项的角色进行写访问
  2. 拒绝访问“工作流状态写入”
  3. 允许访问“工作流命令执行”

但这并不像预期的那样。我看到这条消息 “您无法编辑此项目,因为您没有对其的写入权限。” (预期的) 。但是,拒绝“工作流状态写入”也会隐藏命令按钮

我看到了一些奇怪的模式 - 我首先允许在任何地方进行写入访问(内容项写入和工作流状态写入) -

  1. 通过工作流程移动项目,到达审核步骤(现在具有按钮和编辑权限)。
  2. 现在我返回到安全编辑器并为角色“拒绝工作流状态写入”,用于审查状态。
  3. 我刷新内容项,我现在看到命令按钮和一条不同的消息“您无法编辑此项目,因为它处于您没有写入权限的工作流状态。”

这种奇怪的模式是我想要的行为,但是如果没有实时权限编辑,我似乎无法复制它。请帮忙。

【问题讨论】:

    标签: security sitecore workflow sitecore8


    【解决方案1】:

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

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

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

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

    想到的唯一其他选项是在处于工作流的特定状态时以编程方式在 Sitecore 控件上设置 DisableWebEdit 属性,但这可能有点多。

    【讨论】:

    • 谢谢 Trayek,是的,我确实读过这个。我对内容项本身拥有完全的写入权限。在这里尝试做的是仅通过使用“工作流程状态写入”-拒绝来限制编辑操作,以用于特定的工作流程状态。似乎“工作流程状态写入”也以某种方式影响“工作流程状态执行操作”以及查看面板上命令按钮的隐藏和显示。这似乎不对。
    • 我在上面的问题中提到的奇怪模式实际上似乎合乎逻辑,它是“奇怪的”,因为它只有在我通过工作流移动项目时(同时)编辑权限时才会发生
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多