在我的 Sitecore 工作箱中,管理员可以从工作箱执行“批准”、“拒绝”操作。默认情况下,工作框显示“全部批准”、“全部拒绝”按钮。有没有办法通过配置安全性来控制对某些角色的这些“全部”按钮的访问?
问问题
892 次
1 回答
6
没有简单的方法,因为这些所有按钮总是与选定的按钮一起呈现。我知道的唯一方法是覆盖呈现这些按钮的类。
您需要\sitecore\shell\Applications\Workbox\Workbox.xml
在这一行中找到文件并将基类更改为您自己的类:
<CodeBeside Type="Sitecore.Shell.Applications.Workbox.WorkboxForm,Sitecore.Client"/>
我创建了一个,它总是隐藏所有按钮:
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;
}
}
}
}
}
= 其余答案说明如何管理对工作流状态按钮的访问 =
您可以在安全编辑器中定义对这些按钮的访问。
首先以管理员身份登录Sitecore Desktop ,转到开始->安全工具->安全编辑器。选择角色并单击列按钮:
确保选中此复选框:
然后在安全编辑器中转到/sitecore/system/workflows
并为您的工作流程配置访问权限:
根据 工作流程参考:
3.4工作流程和安全
Sitecore 定义了三个特定于工作流的访问权限。
- 工作流状态删除— 控制用户是否可以删除当前与特定工作流状态关联的项目
- 工作流状态写入— 控制用户是否可以更新当前与特定工作流状态关联的项目。
- 工作流命令执行— 控制是否向用户显示特定的工作流命令。
于 2013-09-12T06:59:39.997 回答