Sitecore - 将角色和用户复制到新环境

时间:2015-11-09 15:56:05

标签: sitecore sitecore8

我们正在使用Sitecore 8更新3与Active Directory集成。我正在尝试将一个角色以及与我们的Dev环境相关的各个用户复制到Prod

例如:

角色: Sitecore / IHaveAccess
用户: ad / dk123,ad / dk234,ad / dk345 ...

我尝试了两种不同的方法:

方法1 :生成包:

通过创建第19页上描述的包:https://sdn.sitecore.net/upload/sitecore6/65/package_designer_admin_guide-a4.pdf

当我在新环境中安装软件包时,添加了角色,但没有任何用户在角色下。

方法2 :序列化:

我序列化该项目,但在Notepad ++中查看时不包含任何用户。当我序列化组中的用户时,我确实看到了该组。

我们为什么会遇到这个问题?

1 个答案:

答案 0 :(得分:3)

不幸的是,会员信息是针对用户而不是角色存储的(角色中的角色也是如此)。在这种情况下,会员信息是针对AD用户存储的。您存储的是用户是角色x 的成员,而不是角色x包含成员y

这意味着您需要打包角色和相应的用户。我不确定这如何使用AD,因为您实际上是尝试通过Sitecore同步回用户相关数据。 我会确保您的AD提供商未在连接字符串或它的设置中设置为只读。由于您只有单向同步,因此无法存储该信息在AD中发布并持续存在。

就个人而言,我会以不同的方式设置我的角色以使管理变得更容易,但这显然取决于您的确切要求:

  • 创建Sitecore角色,为此角色分配所有权限和安全性(sitecore \ IHaveAccess)
  • 创建匹配的AD角色(ad \ IHaveAccess)并将其添加为Sitecore角色的成员
  • 将AD用户添加到AD群组。他们将通过Role In Role获得正确的权限。如果您已经设置了AD组,则只需将现有组添加到新组即可。

使用此功能,您最多必须将AD角色添加回Sitecore角色(这不应该是您将AD角色添加为Sitecore角色的成员,因此会员资格存储在Sitecore中) 。它还有一个优点,即您的用户/角色/成员位于一个系统的中心位置。