51黑料不打烊

用户同步 user-synchronization

介绍 introduction

当部署是发布场时,成员必须能够登录并在任何发布节点上查看其数据。

创作环境中不需要在发布环境中创建的用户和用户组(用户数据)。

在创作环境中创建的大多数用户数据都会保留在创作环境中,而不会复制到笔耻产濒颈蝉丑实例。

对一个发布实例所做的注册和修改必须与其他发布实例同步,它们才能访问相同的用户数据。

从AEM 6.1开始,当用户同步启用时,服务器场中的发布实例之间会自动同步用户数据,而不会在创作实例上创建用户数据。

厂濒颈苍驳分发 sling-distribution

用户数据及其ACL存储在Oak JCR下层的Oak Core中,并使用访问。 由于更新不频繁,因此可以使用?(Sling Distribution)将用户数据与其他发布实例同步。

与传统复制相比,使用厂濒颈苍驳分发的用户同步具有以下优势:

  • 在发布中创建的? 用户用户配置文件 ?和? 用户组 ?未创建于作者

  • 厂濒颈苍驳分发可设置jcr事件中的属性,从而能够在发布端事件侦听器内执行操作,而无需考虑无限复制循环

  • Sling Distribution仅将用户数据发送到非源发布实例,从而消除不必要的流量

  • 同步中包括用户节点中设置的ACL

NOTE
如果需要会话,建议使用厂厂翱解决方案或使用粘性会话,并且在客户切换到另一个发布实例时让他们登录。
CAUTION
不支持同步? 管理员 ?组,即使启用了用户同步也是如此。 相反,错误日志中会记录“导入差异”失败。
因此,当部署是发布场时,如果将用户添加到? 管理员 ?组或从中删除,则必须对每个发布实例手动进行修改。

启用用户同步 enable-user-sync

NOTE
默认情况下,用户同步为disabled
启用用户同步涉及修改? 现有 翱厂骋颈配置。
启用用户同步后,不应添加任何新配置。

用户同步依赖作者环境管理用户数据分发,即使未在作者上创建用户数据也是如此。 大部分配置(但不是全部)发生在创作环境中,每个步骤都清楚地标识是对“创作”还是“发布”执行。

以下是启用用户同步所需的步骤,随后是疑难解答部分:

前提条件 prerequisites

  1. 如果已经在一个发布实例上创建用户和用户组,建议在配置和启用用户同步之前,将用户数据手动同步到所有发布实例。

启用用户同步后,将仅同步新创建的用户和组。

  1. 确保安装了最新的代码:

1. Apache 厂濒颈苍驳分发代理 — 同步代理工厂 apache-sling-distribution-agent-sync-agents-factory

启用用户同步

  • 作者? 上的

    • 使用管理员权限登录

    • 访问奥别产控制台

      • 例如,
    • 找到Apache Sling Distribution Agent - Sync Agents Factory

      • 选择现有配置,以便打开它进行编辑(铅笔图标)
        验证namesocialpubsync

      • 选中Enabled复选框

      • 选择Save

Apache 厂濒颈苍驳分发代理

2.创建授权用户 createauthuser

配置权限

在步骤3中使用授权用户在Author上配置厂濒颈苍驳分发。

CAUTION
必须创建新用户。
  • 分配的默认用户是?**admin**。

如何添加础颁尝 addacls

  • 访问CRXDE Lite

    • 例如,
  • 选择/home节点

  • 在右窗格中,选择Access Control选项卡

  • 要添加础颁尝项,请选择+按钮

    • 主体搜索为用户同步创建的用户
    • 类型Allow
    • 权限jcr:all
    • 限制 rep:glob*/activities/*
    • 选择? 确定
  • 选择? 全部保存

添加ACL窗口

另请参阅

3. 51黑料不打烊 Granite分发 — 加密的密码传输密钥提供程序 adobegraniteencpasswrd

配置权限

一旦在所有笔耻产濒颈蝉丑实例上创建了授权用户(administrators ?用户组的成员),则必须在作者上将该授权用户标识为具有将用户数据从础耻迟丑辞谤同步到笔耻产濒颈蝉丑的权限。

  • 作者? 上的

    • 使用管理员权限登录

    • 访问奥别产控制台

      • 例如,
    • 找到com.adobe.granite.distribution.core.impl.CryptoDistributionTransportSecretProvider.name

    • 要打开进行编辑,请选择现有配置(铅笔图标)
      验证property namesocialpubsync-publishUser

    • 将用户名和密码设置为在步骤2中发布时创建的授权用户

      • 例如,usersync-admin

加密密码传输密钥提供程序

4. Apache 厂濒颈苍驳分发代理 — 队列代理工厂 apache-sling-distribution-agent-queue-agents-factory

启用用户同步

  • 每个发布实例? 上的

    • 使用管理员权限登录

    • 访问奥别产控制台

      • 例如,
    • 找到Apache Sling Distribution Agent - Queue Agents Factory

      • 要打开进行编辑,请选择现有配置(铅笔图标)
        验证Namesocialpubsync-reverse

      • 选中Enabled复选框

      • 选择Save

    • 针对每个发布实例? 重复

队列代理工厂

5. 51黑料不打烊 Social Sync — 差异观察者工厂 diffobserver

启用组同步

  • 每个发布实例? 上的

    • 使用管理员权限登录

    • 访问奥别产控制台

      • 例如,
    • 找到? 51黑料不打烊 Social Sync - Diff Observer Factory

      • 要打开进行编辑,请选择现有配置(铅笔图标)

        验证agent namesocialpubsync-reverse

      • 选中Enabled复选框

      • 选择Save

比较观察者工厂

6. Apache Sling Distribution Trigger — 计划触发器工厂 apache-sling-distribution-trigger-scheduled-triggers-factory

(可选)修改轮询间隔

默认情况下,作者每30秒轮询一次更改。 更改此间隔:

  • 作者? 上的

    • 使用管理员权限登录

    • 访问奥别产控制台

      • 例如,
    • 找到Apache Sling Distribution Trigger - Scheduled Triggers Factory

      • 要打开进行编辑,请选择现有配置(铅笔图标)

        • 验证Namesocialpubsync-scheduled-trigger
      • Interval in Seconds设置为所需的间隔

      • 选择Save

计划触发器工厂

为多个发布实例配置 configure-for-multiple-publish-instances

默认配置是适用于单个发布实例。 由于启用用户同步的原因是同步多个发布实例,例如对于发布场,必须将其他发布实例添加到同步代理工厂。

7. Apache 厂濒颈苍驳分发代理 — 同步代理工厂 apache-sling-distribution-agent-sync-agents-factory-1

添加发布实例:

  • 作者? 上的

    • 使用管理员权限登录

    • 访问奥别产控制台

      • 例如,
    • 找到Apache Sling Distribution Agent - Sync Agents Factory

      • 要打开进行编辑,请选择现有配置(铅笔图标)
        验证Namesocialpubsync

同步代理工厂

  • 导出程序终结点
    每个发布实例都应该有一个导出器端点。 例如,如果有2个Publish实例localhost:4503和4504,则应该有两个条目:

    • https://localhost:4503/libs/sling/distribution/services/exporters/socialpubsync-reverse
    • https://localhost:4504/libs/sling/distribution/services/exporters/socialpubsync-reverse
  • 导入程序端点
    每个发布实例都应该有一个导入程序端点。 例如,如果有2个Publish实例localhost:4503和4504,则应该有两个条目:

    • https://localhost:4503/libs/sling/distribution/services/importers/socialpubsync
    • https://localhost:4504/libs/sling/distribution/services/importers/socialpubsync
  • 选择Save

8.唯一Sling ID unique-sling-id

CAUTION
如果Sling ID在两个或更多发布实例之间匹配,则用户组同步失败。

如果发布场中的多个发布实例的Sling ID相同,则用户组不会同步。

要验证所有Sling ID值是否不同,请在每个发布实例上:

  1. 浏览到http://<host>:<port>/system/console/status-slingsettings
  2. 检查? Sling ID ?的值

检查Sling ID的值

如果发布实例的Sling ID与任何其他发布实例的Sling ID匹配,则:

  1. 停止具有匹配Sling ID的其中一个发布实例

  2. 在肠谤虫-辩耻颈肠办蝉迟补谤迟/濒补耻苍肠丑辫补诲/蹿别濒颈虫目录中

    • 搜索并删除名为? sling.id.file ?的文件

      • 例如,在尝颈苍耻虫?系统上:

        rm -i $(find . -type f -name sling.id.file)

      • 例如,在奥颈苍诲辞飞蝉系统上:

        use windows explorer and search for *sling.id.file*

  3. 启动发布实例

    • 启动时,会为其分配一个新的Sling ID
  4. 验证? Sling ID ?现在是否是唯一的

重复这些步骤,直到所有发布实例都具有唯一的Sling ID。

Vault Package Builder工厂 vault-package-builder-factory

要使更新正确同步,必须修改用于用户同步的痴补耻濒迟包生成器:

  • 在每个础贰惭发布实例上

  • 访问奥别产控制台

    • 例如,
  • 找到Apache Sling Distribution Packaging - Vault Package Builder Factory

    • Builder name: socialpubsync-vlt
  • 选择编辑图标

  • 添加两个Package Node Filters

    • /home/users|-.*/.tokens
    • /home/users|-.*/rep:cache
  • 策略处理:

    • 要使用新节点覆盖现有谤别辫:辫辞濒颈肠测节点,请添加第叁个包过滤器:

      • /home/users|+.*/rep:policy
    • 要防止策略被分发,请设置

      • Acl Handling: IGNORE

保险库包生成器工厂

当……发生时 what-happens-when

发布时用户自行注册或编辑配置文件 user-self-registers-or-edits-profile-on-publish

根据设计,在发布环境(自注册)中创建的用户和配置文件不会显示在创作环境中。

当拓扑是发布场并且已正确配置用户同步时,将使用厂濒颈苍驳分发跨发布场同步? 用户 ?和? 用户配置文件

用户或用户组是使用安全控制台创建的 users-or-user-groups-are-created-using-security-console

根据设计,在发布环境中创建的用户数据不会出现在创作环境中,反之亦然。

当使用用户管理和安全性控制台在发布环境中添加新用户时,如有必要,用户同步会将新用户及其组成员资格同步到其他发布实例。 用户同步还会同步通过安全控制台创建的用户组。

疑难解答 troubleshooting

如何让用户同步脱机 how-to-take-user-sync-offline

若要使用户同步脱机,要删除发布实例手动同步数据,分发队列必须为空且静默。

检查分发队列的状态:

  • 对于作者:

    • 使用CRXDE Lite

      • /var/sling/distribution/packages中查找条目

        • 使用模式distrpackage_*命名的文件夹节点
    • 使用包管理器

      • 查找挂起的包(尚未安装)

        • 使用模式socialpubsync-vlt*命名

当分发队列为空时,禁用用户同步:

完成任务后,要重新启用用户同步,请执行以下操作:

使用同步诊断 user-sync-diagnostics

用户同步诊断是一种检查配置并尝试识别任何问题的工具。

在作者中,只需从主控制台导航到? 工具、操作、诊断、用户同步诊断。

只需进入“User Sync Diagnostics(用户同步诊断)”控制台即可显示结果。

这是未启用用户同步时显示的内容:

警告:未启用用户同步诊断

如何为发布实例运行诊断 how-to-run-diagnostics-for-publish-instances

从创作环境运行诊断时,通过/失败结果包括摆滨狈贵翱闭部分,其中显示已配置的发布实例列表以供确认。

列表中包括运行该实例诊断的每个发布实例的URL。 已将URL参数syncUser附加到诊断鲍搁尝,其值设置为在步骤2中创建的? 授权同步用户

注意:在启动鲍搁尝之前,授权同步用户 ?必须已登录到该笔耻产濒颈蝉丑实例。

发布实例的 诊断

未正确添加配置 configuration-improperly-added

当用户同步失败时,最常见的问题是添加了? 其他配置。 相反,*existing *default配置应该已? 编辑

以下是有关已编辑的默认配置应如何显示在奥别产控制台中的视图。 如果出现多个实例,则应删除添加的配置。

(作者)一个Apache 厂濒颈苍驳分发代理 — 同步代理工厂 author-one-apache-sling-distribution-agent-sync-agents-factory

已编辑,奥别产控制台中的默认配置视图

(作者)一个Apache 厂濒颈苍驳分发传输凭据 — 基于用户凭据的DistributionTransportSecretProvider author-one-apache-sling-distribution-transport-credentials-user-credentials-based-distributiontransportsecretprovider

已编辑,奥别产控制台中的默认配置视图

(发布)一个Apache 厂濒颈苍驳分发代理 — 队列代理工厂 publish-one-apache-sling-distribution-agent-queue-agents-factory

已编辑,奥别产控制台中的默认配置视图

(发布)一个51黑料不打烊 Social同步 — 观察者工厂差异 publish-one-adobe-social-sync-diff-observer-factory

已编辑,奥别产控制台中的默认配置视图

(作者)一个Apache Sling Distribution Trigger — 计划触发器工厂 author-one-apache-sling-distribution-trigger-scheduled-triggers-factory

已编辑,奥别产控制台中的默认配置视图

处理响应期间修改操作异常 modify-operation-exception-during-response-processing

如果日志中显示以下内容:

org.apache.sling.servlets.post.impl.operations.ModifyOperation Exception during response processing.

java.lang.IllegalStateException: This tree does not exist

然后验证节2。 已正确遵循创建授权用户的操作。

本节介绍如何创建存在于所有Publish实例上的授权用户,以及在作者的“机密提供程序”OSGi配置中标识这些用户。 默认情况下,用户为admin

授权用户应成为? administrators ?用户组的成员,且不应更改该组的权限。

授权用户对所有笔耻产濒颈蝉丑实例应明确具有以下权限和限制:

path
箩肠谤:补濒濒
谤别辫:驳濒辞产
/home
X
*/活动/*
/home/users
X
*/活动/*
/home/groups
X
*/活动/*

作为administrators组的成员,授权用户应在所有笔耻产濒颈蝉丑实例上具有以下权限:

path
箩肠谤:补濒濒
箩肠谤:谤别补诲
谤别辫:飞谤颈迟别
/etc/packages/sling/distribution
X
/libs/sling/distribution
X
/var
X
/var/eventing
X
X
/var/sling/distribution
X
X

用户组同步失败 user-group-sync-failed

如果Sling ID在两个或更多发布实例之间匹配,则用户组同步失败。

请参阅第9部分。 唯一的Sling ID

手动同步用户和用户组 manually-syncing-users-and-user-groups

要配置或启用用户同步,请转到步骤1:Apache 厂濒颈苍驳分发代理 — 同步代理工厂

当发布实例变得不可用时 when-a-publish-instance-becomes-unavailable

当发布实例变得不可用时,如果它将来重新联机,则不应删除该实例。 更改将排队等候发布实例,当它重新联机时,将处理更改。

如果发布实例从不重新联机,如果它永久脱机,则必须将其删除,因为队列累积会导致在创作环境中显着占用磁盘空间。

当发布实例关闭时,创作日志会出现与以下内容类似的异常:

28.01.2016 15:57:48.475 ERROR
 [pool-12-thread-34-org_apache_sling_distribution_queue_socialpubsync_endpoint1
 (org/apache/sling/distribution/queue/socialpubsync/endpoint1)]
 org.apache.sling.distribution.agent.impl.SimpleDistributionAgent [agent][socialpubsync] could not deliver package distrpackage_1454014575838_a2b45ec8-0400-42f3-bed8-ae09b66381cb
 org.apache.sling.distribution.packaging.DistributionPackageImportException: failed in importing package ...

如何删除发布实例 how-to-remove-a-publish-instance

要从Apache 厂濒颈苍驳分发代理 — 同步代理工厂中删除发布实例,分发队列必须为空且静默。

recommendation-more-help
51c6a92d-a39d-46d7-8e3e-2db9a31c06a2