本指南说明了如何在 Discourse 中模拟用户并返回您的管理员帐户。当您需要排查特定用户遇到的问题或验证其权限时,这非常有用。
所需用户级别:管理员
管理员可以根据需要选择模拟其他用户。当某个成员遇到异常行为或您需要检查其权限时,这会很有用。模拟其他用户就像您以该用户的身份登录一样。本文档将指导您完成以管理员身份模拟用户的过程以及如何返回管理员帐户。
模拟用户
导航到侧边栏中的 Admin(管理员)部分,然后选择 Users(用户)。
找到并选择您想要模拟的用户的个人资料。
点击右上角的 Admin(管理员)。
在底部,选择
Impersonate(模拟)按钮
模拟用户后,您将不再以管理员身份登录。您将像该用户一样体验 Discourse 界面。
终止模拟会话
方法 1,适用于不经常使用的情况:
要停止模拟并返回您的管理员帐户,只需从被模拟的用户帐户登出,然后以管理员身份重新登录即可。
在私人/隐身窗口中登录和模拟可以避免在您的主浏览器会话中需要重新登录。只需关闭隐身窗口即可!
方法 2,更适合经常需要模拟的情况:
从 2025 年 8 月起,实验性的隐藏站点设置
experimental_impersonation(启用后)将在页面顶部创建一个带有可点击链接的横幅,该链接将终止模拟会话并将您返回到从中模拟用户的管理员帐户。
对于 自托管 的 Discourse 站点:使用以下命令从 rails 控制台启用此功能:
SiteSetting.experimental_impersonation=true
托管 的 Discourse 客户可以联系支持团队以启用此功能。
39 个赞
值得注意的是,冒充用户并不透明——它会为该用户创建一个已记录的访问,并重置任何已处理的通知标志。最好告知任何真实用户正在进行此操作。
3 个赞
我也遇到了这个问题。我们至少可以在“模拟”按钮上添加一个确认对话框吗?目前它会立即开始模拟,而不会警告用户潜在的风险,特别是它会创建一个已记录的访问。
它附近的“删除用户”等其他按钮确实有确认对话框。作为用户,我希望“模拟”按钮也能像其他按钮一样打开一个对话框。

5 个赞
我甚至都没注意到缺少一个确认对话框,但是的,那将是一个很好的地方来警告你即将成为该用户并留下痕迹——而不仅仅是在后台随意查看而没有影响。
4 个赞



