假设我在Sitecore中有一个具有以下状态的工作流程:
我希望IT小组中的用户只能在他们访问工作箱时看到“按IT审核”状态的项目。现在我通过拒绝所有其他州的读取权限来做到这一点。这很好用。 IT用户只能看到处于其状态的项目。
然而,这有一个有趣的副作用。由于IT用户在查看该项目的历史记录时对其他状态没有“读取”权限,因此说明如下:
从何而来?至 ?在11/27/11 搬了?由IT于2011年10月27日审核
似乎用户无法看到其他状态的名称,因为他没有读取权限。这是预期的行为吗?还有其他方法可以将状态保持在用户的工作箱之外吗?
答案 0 :(得分:1)
您可以尝试执行的操作是覆盖Sitecore.Shell.Applications.Workbox.WorkboxHistoryXmlControl实现。
\sitecore\shell\Applications\Workbox
复制到\sitecore\shell\override
创建一个继承自Sitecore.Shell.Applications.Workbox.WorkboxHistoryXmlControl
的类,并通过将其包装在安全禁用程序中来覆盖OnLoad
:
protected override void OnLoad(EventArgs e) { using(new SecurityDisabler()) { base.OnLoad(e); }}
在\sitecore\shell\override\WorkboxHistory.xml
中更改对新实施的引用:
...inherits="Custom.Workbox.WorkboxHistoryXmlControl,Custom">
我没有测试过,但它应该有用。