Sitecore工作箱"批准所有"配置安全性

Dha*_*777 1 sitecore

在我的Sitecore工作箱中,管理员可以从工作箱执行"批准","拒绝"操作.默认情况下,工作箱显示"全部批准","拒绝所有"按钮.有没有办法通过配置安全性来控制对某些角色的这些"所有"按钮的访问?

Bar*_*cha 6

有没有简单的方法,因为这些所有的按钮都总是一起呈现的选择按钮.我知道的唯一方法是覆盖渲染这些按钮的类.

您需要查找\sitecore\shell\Applications\Workbox\Workbox.xml文件并将此行中的基类更改为您自己的类:

<CodeBeside Type="Sitecore.Shell.Applications.Workbox.WorkboxForm,Sitecore.Client"/>
Run Code Online (Sandbox Code Playgroud)

我创建了一个,总是隐藏所有按钮:

public class WorkboxForm : Sitecore.Shell.Applications.Workbox.WorkboxForm
{
    protected override void DisplayState(global::Sitecore.Workflows.IWorkflow workflow, global::Sitecore.Workflows.WorkflowState state, global::Sitecore.Data.DataUri[] items, System.Web.UI.Control control, int offset, int pageSize)
    {
        base.DisplayState(workflow, state, items, control, offset, pageSize);

        if (control.Controls.Count > 0)
        {
            var borderControls = control.Controls[control.Controls.Count - 1].Controls;
            for (var i = 0; i < borderControls.Count; i++)
            {
                if (i % 2 == 1)
                {
                    borderControls[i].Visible = false;
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

=休息的答案如何管理工作流程状态按钮=

您可以在安全编辑器中定义对这些按钮的访问.

首先登录Sitecore的桌面作为管理员,进入开始- >安全工具- >安全编辑器.选择角色,然后单击" 列"按钮:

在此输入图像描述

确保选中此复选框:

在此输入图像描述

然后在安全编辑器中转到/sitecore/system/workflows并配置工作流的访问权限:

在此输入图像描述

根据 工作流程参考:

3.4 工作流程和安全性

Sitecore定义了三个特定于工作流的访问权限

  • 工作流状态删除 - 控制用户是否可以删除当前与特定工作流状态关联的项目
  • 工作流状态写入 - 控制用户是否可以更新当前与特定工作流状态关联的项目.
  • 工作流命令执行 - 控制是否向用户显示特定的工作流命令.