我们在Sitecore中设置安全设置的方式中,我们拥有部门角色,这些角色通过继承定义特定站点部分的安全性。例如,角色“ A”对站点的一部分具有写访问权,而角色“ B”对站点的另一部分具有写访问权。
假设我们有了一个需要附加到这些内容项的工作流程。我们具有特定的“职能”角色,例如“作者”或“批准者”。作者在草稿后提交要批准的内容,批准者只有在达到批准状态后才能触摸它,依此类推。如果需要“作者”内容,则必须具有角色“ A”和“作者”,或“ B”和“作者”。
这很有效,除了当人们需要部门的特定角色时。如果需要“作者”,“ A”内容和“批准”,“ B”内容,则必须具有以下角色:“ A”,“ B”,“作者”,“批准者”。问题在于,无法告诉系统需要禁止它们“创作”“ B”内容,反之亦然。
看来解决此问题的唯一方法是拥有“ A部门作者”和“ B部门作者”等角色,但是随着部门和职能数量的增加,这将成为维护的噩梦。关于这种看似常见的情况,Sitecore最佳做法是什么?
谢谢。
编辑:我们正在使用最新的版本。 Sitecore 6.4。
最佳答案
Sitecore支持子角色(“角色中的角色”),但是您不能通过UI进行设置。
您可以通过数据库浏览器管理页面(/sitecore/admin/dbbrowser.aspx
)进行设置-但是,如果您希望通过某种用户友好的方式进行设置,则可以构建自己的控件以通过Sitecore UI进行访问。
这应该允许您创建角色的层次结构,例如
Author
-- Dept A
-- Dept B
Approver
-- Dept A
-- Dept B
关于workflow - Sitecore安全性和工作流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7798639/