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

I really like this idea @John_Lehmann

Sometimes when I impersonate someone (albeit, not very often) I forget and keep trying to do admin type things and then realize I’m in someone elses account.

Another downside of the current process is that you have to click on the users avatar. I was impersonating a users that had 5 new notifications. When I clicked his profile, so I could log out of his account, it marks those notifications as read and no longer shows the (5) badge showing he has new notifications. How sad for him, when he returns! Hopefully he got some email notifications that will pull him back in!

Another community that I built and currently manage, is on the Higher Logic platform. I can’t tell you how much more I enjoy using Discourse than Higher Logic. But, now that I have that out of the way, I will say that I do like their method of impersonating users…

There’s a bar at the top of the screen, providing a constant visual reminder that you’re impersonating and a button to STOP, as well as a little orphan button at the bottom of the screen allowing you to STOP.

I don’t think they need both buttons. Top of the screen is sufficient.

I love @John_Lehmann’s suggestion with a more bold/obtrusive bar that stands out so you remember to get out of the user account before posting and doing other stuffs.

image

Not critical by any means.

I just came to meta, to see if there was a plugin for this, or something.

12 个赞

Just ended up needing this today. I use the impersonate feature to post category guidelines, or other pinned topics or replies in them under the @system account. What I currently do is post them under mine, then change ownership to @system, but what if someone has the topic set to watching, then they would see that it was me. I’m not necessarily trying to be anonymous when posting these, although, I just don’t want those posts under my name. I could make an alt whose purpose is to post these, although I would have to log in from a private window each time, which is bad ux.

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:

22 个赞

谢谢你揭示了古人想要的东西! :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 个赞