合并用户账号

:bookmark: 本指南将介绍如何将多个用户帐户合并到一个 Discourse 帐户中。它涵盖了通过 Discourse UI 合并非员工用户以及通过控制台合并员工用户。

:person_raising_hand: 所需用户级别:管理员

在 Discourse 中合并用户帐户可让您将多个帐户合并为一个。此过程在几种情况下可能很有用:

  1. 当用户创建多个帐户时,可能是因为他们忘记了之前的注册信息。
  2. 如果用户创建了一个带有新电子邮件地址的新帐户,而不是更新其现有帐户。
  3. 当用户希望将用于不同目的(例如,个人、业务或测试)的多个帐户合并到一个帐户中时。

合并非员工用户

管理员可以直接通过 Discourse UI 合并非员工用户。

:warning: 此操作不可逆。合并后,源用户帐户将被删除。

要合并两个非员工用户:

  1. 导航到源用户(您要从中合并的帐户)的用户管理页面。
  2. 滚动到页面底部。
  3. 单击“合并”按钮。
  4. 在弹出窗口中,输入目标帐户(您要合并到的帐户)的用户名。
  5. 单击“传输并删除”按钮以启动合并。

:information_source: 合并大型帐户可能需要大量资源,并且根据源用户关联的数据量,可能需要一些时间来处理。

合并什么?

合并用户帐户时,Discourse 会合并来自 45 个表的数据,包括:

  • 帖子和主题
  • 点赞(给予和接收)
  • 私人消息
  • 用户个人资料信息
  • 用户偏好设置和配置
  • 用户操作和活动(例如,书签、主题视图)
  • 徽章和成就
  • 信任级别和组会员资格

在发生冲突时,将保留目标用户的详细信息。如果两个用户都有与其帐户关联的匿名用户,则源用户拥有的匿名用户将被丢失。

:warning: 合并后,引用源用户的传入链接(例如 https://discourse.example.com/t/some-topic/17/3?u=source_username)将不会与目标用户关联。

关于合并用户和 SSO 的重要说明

合并用户帐户可能会影响 SSO,具体取决于实现方式:

  • 如果 SSO 基于电子邮件地址,只要目标帐户的电子邮件在 SSO 系统中使用,就不会有问题。
  • 如果 SSO 系统使用的唯一用户 ID 不同于 Discourse 用户 ID,则在源帐户的唯一 ID 未正确映射到目标帐户时,合并可能会导致问题。

合并员工用户

出于安全原因,必须通过控制台合并员工用户。

:information_source: 如果您的站点由 Discourse 托管,请联系 team@discourse.org 以获取合并员工用户的帮助。

要通过控制台合并员工用户:

root@host:/var/discourse# ./launcher enter app
root@host-app:/var/www/discourse# rake users:merge['source_username','target_username']

Users merged!

root@host-app:/var/www/discourse#

:warning: 确保命令中逗号前后没有空格。

常见问题解答

问:如果合并过程似乎停滞不前怎么办?
答:如果合并进度屏幕长时间没有变化,请尝试刷新页面。合并可能已完成,但 UI 未更新。

问:我可以撤销用户合并吗?
答:不可以,一旦两个用户合并,该操作就无法撤销。合并后,源用户帐户将被永久删除。

问:合并用户会影响他们的帖子和主题吗?
答:源用户的所有帖子和主题都将转移到目标用户。这些项目的作者身份将更改为反映目标用户为创建者。

10 个赞

帖子已拆分为新主题:我的网站上的合并用户按钮消失了