如何保护Sitecore内容树中的整个分支?

时间:2010-06-18 20:11:26

标签: security sitecore

我有一部分内容树,我想拒绝除特定角色之外的所有权限。这似乎是一项非常明显的任务,但我没有在安全管理员的食谱中看到它的一个例子,我无法找到一种使用安全工具的简单方法。我一定错过了一些明显的东西...... ???

说我有这个:

sitecore
-content
  -branchA
  -branchB

我在内容树中创建的所有内容都可以通过Extranet \ Anonymous在默认情况下读取。但即使我单击安全功能区上的“需要登录”,所有用户仍然具有读取权限,他们只需要登录。我想使branchB只能通过sitecore \ SomeRole成员读取。这是怎么做到的?

2 个答案:

答案 0 :(得分:9)

好的,请遵循此指南。

假设我们有sitecore \ SomeRole和这样的内容树:

Home
  branchA
    itemA1
  branchB
    itemB1

除了SomeRole之外,我们要拒绝为所有人拒绝branchB及其所有后代。

首先,在Security Editor中选择Home node,选择sitecore \ Everyone角色并设置以下权限:

alt text http://img822.imageshack.us/img822/7172/sitecoreeveryonepermiss.png

现在检查AccessViewer中的访问权限 - 这就是我们需要的:

alt text http://img532.imageshack.us/img532/3512/sitecoreeveryoneaccess.png

让我们允许branchB用于SomeRole。返回到安全编辑器并明确允许SomeRole的权限:

alt text http://img80.imageshack.us/img80/120/sitecoresomerolepermiss.png

再次在AccessViewer中检查:

alt text http://img27.imageshack.us/img27/9584/sitecoresomeroleaccess.png

希望这能回答你的问题。请注意6.2.X之前的Sitecore版本存在问题:设置权限后AccessViewer无法正确刷新。杀死aspnetwp(w3wp)解决这个问题。

答案 1 :(得分:1)

听起来你的问题是你允许外联网\匿名用户在树中读取权限太远了。删除顶层的访问授权(不要拒绝它,只需将其删除)并在您真正需要的地方授予它(例如在branchA)。