Add 'stop impersonating' link to user avatar dropdown when impersonating

我真的很喜欢这个想法 @John_Lehmann

有时候当我冒充某人时(虽然不常发生),我会忘记,继续尝试执行管理员操作,然后才意识到自己进入了别人的账户。

当前流程的另一个缺点是,你必须点击用户的头像。我曾冒充一个有 5 条新通知的用户。当我点击他的个人资料以便退出他的账户时,系统会将这些通知标记为已读,不再显示表示他有新通知的 (5) 徽章。等他回来时,该多让人难过啊!希望他收到了电子邮件通知,能把他拉回来!

我另一个正在管理并构建的社区使用的是 Higher Logic 平台。我无法形容使用 Discourse 比使用 Higher Logic 更令人愉快。不过,既然已经说完了,我必须承认,我确实喜欢他们冒充用户的方法……

屏幕顶部有一条横幅,持续提供视觉提示,提醒您当前正在冒充用户,并有一个“停止”按钮;此外,屏幕底部还有一个独立的小按钮,也允许您“停止”。

我认为不需要两个按钮。屏幕顶部的就足够了。

我非常赞同 @John_Lehmann 的建议,即使用更醒目、更显眼的横幅,以便您记得在发帖或进行其他操作之前退出用户账户。

image

这绝对不是关键问题。

我来 Meta 只是想看看是否有相关的插件或其他解决方案。

12 个赞

今天刚好用到了这个功能。我使用“模拟用户”功能,以 @system 账号发布分类指南、其他置顶话题或其中的回复。我目前的做法是先用自己的账号发布,然后将所有权更改为 @system。但如果有人将话题设置为“关注”,他们就会看到是我发布的。我发帖时并不一定要匿名,只是不想让这些帖子显示在我的名下。我可以创建一个专门用于发布此类内容的备用账号,但那样每次都得用无痕模式登录,用户体验很差。

2 个赞

我还希望在完成模拟后能够恢复到我的用户帐户。在我使用过的所有 WordPress 此功能实现中,都可以做到这一点。

3 个赞

我同意,这并非必需,但这是一个巨大的改变,而且我认为在顶部放置一个带有注销按钮的横幅并非难事……我们可以做一个插件,但对核心进行简单的更改肯定会更好。

+1 支持 @John_Lehmann 的想法。

4 个赞

我确实在想这个功能是否需要重新考虑。

“冒充”一直是一个被当作一种“技巧”实现的非常犀利的工具。

一种非“技巧”的实现可能不那么令人毛骨悚然,并且更容易证明其是 Discourse 的默认功能。

  • 当你冒充用户时,你只能获得“只读”视图(除非启用了某些特殊的隐藏站点设置)。
  • @John_Lehmann 建议的那样,顶部有一个横幅。
  • 冒充时有更多的仪式感,例如:能力越大,责任越大。

总的来说,这个功能对于调试东西非常有用,但代表他人行事非常危险。

我想,作为开始,@codinghorror,让当前的“冒充”功能成为一个在 Discourse 站点上被禁用,并且需要更改隐藏站点设置才能启用的功能是否有意义?不确定?

12 个赞

@sam 同意,抱歉打扰您,但我多年来一直在随机提出这个问题,这对某些人来说是个大问题。模仿(Impersonate)是让用户隐私成为 Discourse 严重担忧的功能,尤其是在将 Discourse 用于内部(工作)沟通和协作平台时。

我们过去曾使用过它,并且正在重新启用一个 Discourse 实例供我们的工会使用。不是供会员使用,而是供当选官员使用。在我管理旧实例期间,我是一名普通代表,就像大多数人一样。我现在处于组织的领导/管理层,因此我在组织中的角色不会与 Discourse 管理员查看所有类别中所有内容的权限相冲突。但当时确实如此……

我们的执行小组对管理员能够查看他们在(执行)特权类别中的讨论表示严重担忧。我通过 CSS hack 式地解决了这个问题,使其对非执行组成员隐藏(包括对管理员隐藏),并指出如何查看日志以确定我是否禁用了一个名为“用户隐私”(user privacy)的特定主题组件。

另一个主要担忧是,一名活跃的代表同时也是一名 Discourse 管理员(而不是合同工 IT 人员)可以冒充另一位用户,阅读私人消息,并随意更改某人的个人设置和内容。

我只能说,如果有可能关注管理员不拥有全局查看权限,而是拥有更多的网站管理访问权限,默认情况下只查看他们被分配到的内容,那将是极好的。另外,还需要一个清晰的通知系统,专门为所有用户设计,以突出显示管理员团队是否在进行此类操作。

可以称之为类似于 Discourse Teams 的东西,也许是 Discourse Professional。它不是作为一个互联网论坛,而更多的是一个面向商业、协作和沟通的平台。如果能够限制/削减或消除管理员可以查看一切的能力(最重要的是模仿和通过个人资料/消息选项卡阅读消息),Discourse 将在这个角色上大放异彩。

6 个赞

就我个人而言,我不认为我非常想模仿某个特定用户,而是更想模仿某个角色/组成员/信任级别。

我前几天发现了这个功能,我有很多私有类别对管理员来说是可见的,但我想看看某个 T0、T1 等级别的用户会看到什么样的主题列表。

也许这个功能已经存在,并且独立于模仿功能,我想除此之外,我不确定其他人还会用模仿功能来做什么。

这个功能对大多数人来说够用吗?

7 个赞

关于这个主题,在 The Impersonated user should be notified that they are being Impersonated 有很多内容。我仍然同意那里的结论。简而言之,这是一个无底洞,管理员可以做任何事情,如果你不信任管理员,就不要有管理员。

也许另一种方法是通过以下方式增加冒充的阻力:

  • 添加一个“你确定吗”的弹出窗口,提醒它将被记录,如果他们只是想测试一些东西,他们可能更愿意创建一个测试用户并在完成后将其删除。即时教育,可以说。
  • 通过电子邮件发送冒充链接(这将有额外的好处,可以在单独的窗口中登录?)类似于备份下载

我也喜欢一个管理员设置来禁用冒充的想法,默认禁用。它甚至不需要是一个隐藏的设置,但拥有像备份恢复这样的设置,将降低某人养成冒充另一个用户或意外这样做的风险。

3 个赞

如果他们控制了系统,他们就可以访问数据。你需要可以信任的管理员,并且需要教育用户,让他们明白不存在隐私期望。这对于所有用于沟通和协作的软件都是如此,即使你全程使用了加密。

你甚至无法真正审计对分类和私信的访问,任何有决心的恶意管理员,只要拥有 root 访问权限,就可以从文件系统中获取备份,并直接从数据库中读取它们。

3 个赞

这是一个很好的观点。可能仍然有一些冒充有用的情况,但这几乎完全消除了我冒充用户的需求。

10 个赞

每次当用户遇到管理员或其伪用户找不到的奇怪问题,或者只有很少用户报告时。

隐私是一个相对的问题。我认为大多数论坛的用户都没有任何私人信息。所以,模拟至少应该是一个选项。发生时自动通知并非坏主意,即使它通常是不必要的——但这是一个更开放的解决方案。

3 个赞

供记录,信任级别模仿功能已在此提出:

5 个赞

我认为这没关系,我一直认为这是一个开发人员调试功能,而不是一个真正的“功能”。

6 个赞

当您冒充他人时,完成操作后需要退出并重新登录,如果设置了双重身份验证,则需要完成双重身份验证。

相反,在用户菜单中可以有一个按钮,上面写着“停止冒充”,点击它,您将被登录到您的账户。

我个人认为,在冒充时,这将是一个非常有用的功能。

2 个赞

我们刚刚合并了一个实验性功能,允许您在不注销的情况下冒充用户。

如果您想使用此功能,请启用隐藏的站点设置 experimental_impersonation 并在此处报告任何问题。:folded_hands:

24 个赞

谢谢你揭示了古人想要的东西! :hugs: :grinning_face_with_smiling_eyes:

9 个赞

太棒了!我会经常使用它。

3 个赞

太好了,谢谢你!

一旦这稳定下来,你可以想象 impersonation_enabled_groups 并反过来操作:像普通成员一样参与,只在你需要时才成为管理员……也就是 sudo 模式… 它可以让你按需切换身份……例如,Discourse Staff Alias 将伪装限制为单个团队别名,但通过扩展伪装,你可以根据各种标准更改身份……

例如,一个 @well-being.team 的成员可以作为一个团队别名发帖,以避免个人恩怨,一个作者可以扮演 @narrator@characterN 来写一个互动故事,一个老师可以假扮一个学生来理解她的观点……所有这些都根据可定制的群组进行。:blush:

我认为一个重要的功能是,伪装会话会被正确记录,并且被伪装的用户会知晓。

5 个赞

我试用了这个 experimental_impersonation 功能,效果很好!它名副其实,而且我很高兴不必再经历注销再以我自己身份登录的麻烦。

@moin🇩🇪 Fehler in der Deutschen Übersetzung? Hier melden! - #108 by Moin 中提到,“impersonate” 和 “stop impersonating” 翻译成德语效果不佳。很难找到能完全捕捉你所做事情含义的恰当词语。其他语言也可能存在这种情况,但我尚未检查。

我想知道我们是否要(双关语)切换到更直接的术语,例如在用户管理页面上使用“切换到 @user_to_impersonate”,然后在停止冒充的按钮上使用“切换回 @user_who_impersonated”。这可能更容易翻译,也更容易让非英语母语者理解。

今天的测试还发现了其他一些问题:

  • 我认为需要一个冒充的模态框,类似于删除或合并。这样你就可以在意外点击按钮时退出,并且还能告知管理员你即将做什么,这会被记录下来,并且你无需再次登录即可切换回来。
  • 你正在冒充以及切换回来的事实会被记录在管理员操作日志中,但冒充期间执行的任何操作都不会被记录。考虑到此功能很容易被滥用,无论是意外还是故意,我认为记录下来也有意义。
  • 一个由来已久的问题仍然存在,那就是当你冒充用户时,它会更新用户列表和用户管理中的“上次查看时间”,并且(可能)在安装了该插件的情况下,“在线用户”中也会更新。
8 个赞

我喜欢那个switch(开关)的主意,因为在芬兰语中很难找到合适的翻译。我们有一两个词可以用来表示,但它们听起来都不太好。Switch(开关)就很好用。

1 个赞