Sitecore角色安全性使访问覆盖拒绝

时间:2014-11-17 18:37:06

标签: sitecore roles sitecore7

我的用户角色如下: Admin是Manger中的一个角色,它是Logged in User中的一个角色。我希望这种方式以这种方式工作,这样如果用户具有Admin角色,那么他们也将具有Logged in User角色。这样做的原因是检查代码。我真的不想写一些增量检查每个角色的内容,以便在我可以检查他们是否是登录用户时查看用户是否可以访问某些内容。现在我希望能够将安全性应用于sitecore项目。我遇到的问题是拒绝访问会覆盖访问权限(如果两者都存在)。我可以分离角色并进行增量检查(甚至以相反的方式嵌套它们)但我想知道是否有办法将拒绝访问覆盖访问权限切换为相反的方式。即如果管理员可以访问某个项目但是“登录用户”没有访问权限,那么作为管理员的用户将能够看到该项目(同时继承“登录用户”角色),但只是“登录用户”的用户不会。

1 个答案:

答案 0 :(得分:4)

我假设你有以下角色结构:

  • 管理员 - 是......
  • 的成员
  • 经理 - 是...
  • 的成员
  • 登录用户

您应该很少拒绝访问,因为您已经发现,因为无论继承来自何处,拒绝始终会覆盖访问权限。相反,您应该中断登录用户角色的继承,然后为 Manager 角色授予读取权限。您的 Admin 角色将通过继承获得读取权限,因为它是 Manager 角色的成员。

由于您可能只有登录用户可以访问的内容,因此您还应该打破 sitecore \ Everyone 角色的继承,并提供对您的登录用户角色。

登录用户角色:

Logged In User - Break Inheritance

Logged In User - Access Viewer

经理角色: - 是登录用户的成员

Manager Role - Give Read Access

Manager Role - Access Viewer

管理员角色:是管理员

的成员

Admin Roles - Access Viewer