【问题标题】:How to manage Sitecore security access rights settings(configurations) on items?如何管理项目的 Sitecore 安全访问权限设置(配置)?
【发布时间】:2013-01-10 00:16:53
【问题描述】:

正如文档所述,项目的安全设置保存为每个项目的文本定义。

我们有一棵巨大的树,里面有很多物品,另外还有 30 多个角色。我们面临的挑战是如何管理所有项目的安全设置并在环境(Dev、TEST、UAT、Prod)之间提升它们。我们正在使用 TFS 和 TDS(Sitecore 的团队开发),但作为开箱即用的系统,所有安全配置都是项目的一部分。

假设我们要更改选定项目上特定角色的安全访问权限。这意味着我们必须在 TDS 项目中进行更改并将这些项目重新部署到所有环境。这是正确/推荐的方法吗? 还有其他方法吗?

更新:

特殊情况。我们有生产中的操作站点,管理员在项目 A 上更改了初始定义的安全配置(引入新的或更改现有的)。其他一些字段也可以更改。 我们已准备好在生产中部署新开发的功能。其中一项新更改是项目 A - 为某些新角色 N1 引入了新的访问权限。我们想要的结果是保留项目 A 的所有配置,并为角色 N1 添加新的安全访问权限。如何实现? 重新部署整个项目 A 意味着从生产中丢失配置。

谢谢。

【问题讨论】:

    标签: security sitecore tds


    【解决方案1】:

    无论是否使用 TDS,您都必须重新部署项目。项目的安全设置在 Sitecore 体系结构中与项目一起存储,这就是为什么如果项目的安全设置发生更改,这实际上意味着项目已更改并且应该重新部署。

    为了尽量减少每次部署的项目数量:

    • 尽可能利用“继承”选项 - 因此,只有具有明确“允许”或“拒绝”权限的项目才会受到影响
    • 为角色分配安全性,而不是为用户分配安全性 - 因此,为了为新用户应用权限,您只需将其包含到适当的角色中

    【讨论】:

    • 很公平。我明白这一点。我已经用一个特定的例子更新了这个问题,如果您可以对此发表评论或向我推荐其他一些信息,我们将不胜感激。谢谢
    • 安全设置存储在项目本身中,如果您选择“查看标准字段”选项,您可以看到它们。实现您想要将项目合并回 Dev/QA/Integration 的常用方法,在那里进行更改并将它们打包到 Porduction 中。或者再次直接在生产上进行所有更改。这个模块可能有助于消除差异,但不确定它是否会检查安全性:marketplace.sitecore.net/en/Modules/Compare_Servers.aspx
    • @DevUser,我不确定直接对生产进行一些更改是否是个好主意。在这种情况下,您的预生产环境和实际环境是不同的,并且您无法确保您引入的更改与您在测试时看到的相同。与发布类似 - 如果您修改网络数据库目录中的项目,您将在下一次发布后立即丢失更改。
    • @Yan Sklyarenko 那么,您的意思是说站点管理员不应该直接在生产站点上应用任何安全访问权限配置吗?你的意思是说安全访问权限设置必须通过 Dev -> Test -> Production 的打包系统来提升?
    • 是的,我的意思就是这个,否则不会测试更改。当您允许人们直接更改生产系统时,您将其从部署管道中取出,这意味着生产系统处于未定义状态。我知道这听起来像访问权限这样的小事情的开销,但即使是这个小的更改也可能会破坏某些依赖于访问是允许还是拒绝的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 2015-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多