【问题标题】:Sitecore restrict access to areas of a site based on (external) user's roleSitecore 根据(外部)用户的角色限制对站点区域的访问
【发布时间】:2011-11-03 15:13:24
【问题描述】:

我已经使用外部 ASP.NET 成员数据库设置了一个 Sitecore 实例(有关此信息,请参阅我的 earlier question),并且可以成功地在站点上创建和编辑用户(不使用 Sitecore 用户管理器)。但是,我在网络配置中设置的位置元素(在<configuration> 下似乎没有任何效果 - 无论我是否登录,我都可以访问所有区域。我不确定如果我打算在 <system.web> 下包含一个 <authorization> 元素 - 我已经尝试过了,但它仍然没有效果。

仅供参考,我在 web.config 中有 <configuration>

<location path="en/administrators">
  <system.web>
    <authorization>
      <allow roles="Administrator"/>
      <deny users="?"/>
    </authorization>
  </system.web>
</location>

更新

只是总结一下 Sitecore 安全参考手册中提到的一些内容;有必要拒绝对相关页面的“extranet\Anonymous”用户帐户的读取访问权限。这是在 sitecore 的安全编辑器中完成的。另请注意,必须执行发布才能使这些更改生效(与立即生效的站点核心编辑器帐户更改不同)。

【问题讨论】:

  • 使用 Sitecore 授权。这一切都是基于 Sitecore 中的用户和角色实现的。有关于如何实现基于角色的安全性的文档。

标签: asp.net-membership sitecore sitecore6


【解决方案1】:

如果您实现了 Membership Provider,则不应通过配置设置安全性,而应通过 Sitecore 后端接口。 Sitecore 有自己的实现访问的方式,即使您已经实现了自己的成员资格提供程序,它也会使用这种方式。

所以在 shell 中你应该打开安全编辑器并且只允许你想要的角色访问。

还可以查看安全参考指南http://sdn.sitecore.net/Reference/Sitecore%206/Security%20Reference.aspx

【讨论】:

  • 天啊!像往常一样,我在尝试解决复杂问题时忽略了简单的解决方案......谢谢!
【解决方案2】:

使用 Sitecore 授权。这一切都是基于 Sitecore 中的用户和角色实现的。有关于如何实现基于角色的安全性的文档。当您绑定例如 Active Directory 用户时,您可能应该编写一些内容以将 AD 用户导入 Sitecore 并在那里设置角色,因为 Sitecore 有自己的安全层。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 2016-12-08
    • 2016-01-29
    • 2021-12-12
    • 2014-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多