Sitecore安全性和工作流



我们在Sitecore中设置安全的方式是,我们有部门角色,通过继承来定义特定站点部分的安全性。例如,角色"A"对站点的一个部分具有写访问权,而角色"B"对另一个部分具有写访问权。

假设我们有一个需要附加到这些内容项的工作流。我们有特定的"功能性"角色,如"作者"或"审批者"。作者在起草内容后提交审批人,审批人在达到审批人的状态之前不能碰它,以此类推。如果我需要"Author"内容,我必须有角色"A"one_answers"Author",或者"B"one_answers"Author"。"

除了当人们需要一个部门的特定角色时,这种方法很有效。如果我需要"撰写"A"内容,并"批准"B"内容,那么我必须有角色:"A"B"作者"审批者"。问题是没有办法告诉系统他们需要被禁止"创作"B"内容,反之亦然。

似乎解决这个问题的唯一方法是拥有"A部门作者"one_answers"B部门作者"等角色,但似乎随着部门和功能的增加,这将成为维护的噩梦。对于这种看似常见的情况,Sitecore的最佳实践是什么?

谢谢。

编辑:我们使用的是Sitecore 6.4的最新版本

Sitecore支持子角色('角色中的角色'),但是,这不是您可以通过UI设置的。

你可以通过DB浏览器管理页面(/sitecore/admin/dbbrowser.aspx)来设置这个,但是,如果你想要一些用户友好的方式来设置这个,你可能想要建立你自己的控件,通过Sitecore UI来访问。

这应该允许您创建角色的层次结构,例如
Author
-- Dept A
-- Dept B
Approver
-- Dept A
-- Dept B

我不确定是否将此归类为常见场景。我的第一反应是鼓励你的客户/用户简化工作流程。过于复杂的工作流程会让你的用户泄气,阻碍采用。

也就是说,如何使用克隆来为每个站点部分创建工作流,您可以单独对其应用安全性?你是对的,这可能需要更多的角色。角色中的角色可以在这方面有所帮助,但最终您将尝试建模一些相当复杂的规则,不确定您将避免解决方案中的复杂性。

最新更新