大家好,
我为一位客户搭建了一个 Discourse 服务器,并允许他们创建测试账户。我知道这些账户在单点登录(SSO)实施后最终会被废弃。我用管理员账户 A 完成了所有设置,自定义了主题,并为各个分类编写了描述。
在设置好 DiscourseConnect(作为唯一的注册选项)后,我从另一个系统登录了我的管理员账户,并将该账户 B 授予了管理员权限。从那时起,我都使用账户 B 进行操作,因为我已经无法再登录账户 A 了。
后来,我偶然发现了“模拟登录”按钮,便产生了好奇。看起来,如果我能模拟账户 A,就不必删除它,从而可以继续编辑分类描述、常见问题解答(FAQ)等内容。于是我用账户 B 模拟了账户 A,进行了一系列测试编辑,一切都很顺利。
直到我好奇是否也能模拟论坛的机器人账户。于是,在仍然模拟账户 A(当时 A 是管理员)的情况下,我决定模拟账户 C。成功了,效果很好。于是我认真地退出了登录,继续我的一天。
现在,当我以账户 B 登录时,无法再模拟账户 A 或 C(模拟其他用户则没问题)。原本应该显示按钮的位置只显示“管理员和版主无法被删除”。
日志显示“B 模拟了 A”以及“A 模拟了 C”。
我不确定这是否应该提交为错误报告——因为我目前无法重现我的操作步骤——或者是否有简单的修复方法?
提前感谢,
Flo
是否可以通过 /users/admin-login 使用邮箱登录 Admin A 账户?这或许能帮你解开这个难题?
2 个赞
嗨,Gavin,
我如何通过界面查看当前版本?仪表板上显示上次更新日期为 8 月 3 日,但我找不到版本号。
谢谢
你好 JammyDoger,
我不知道有这个路由!这确实解决了绕过 DiscourseConnect 的问题,不过我还没能理清头绪。不过,用户 A 的“冒充”按钮是显示的,所以我推测他们目前并没有冒充任何人?
pfaffman
(Jay Pfaffman)
6
您可以查看源代码,这并不难找。
访问 /u/admin-login,将管理员账户的邮箱更改为可通过单点登录(SSO)登录的邮箱。您也可以通过 Rails 控制台修改该地址。
1 个赞
你好 Jay,
我刚才错误地认为,如果你故意向管理员隐瞒信息,那么这些信息就不会是公开的。那就用 2.8.0.beta4 吧。
关于你的第二个建议,我不想那样做,因为用户 A 在我的其他系统中没有对应的账户,不过任何用户都有可能在论坛上拥有账户。
现在可以注销 Admin A 账户,以确保其已重置为管理员身份,而非冒充他人吗?
(同时也请注销 Admin B,以防万一
)
你好 JammyDodger,
是的,我已经从两个账号都登出,然后重新登录了 B,但依然没有成功 
我这小小的知识储备也就到这儿了。
我不确定管理员是否能冒充其他管理员(我以为只有开发者可以)。你把这个列表里的管理员 B 移除了吗?
希望有更渊博的人能补充一些更有价值的信息。

1 个赞
IAmGav
(Gavin Perch)
13
那么您的账户不是管理员。
建议您按照 @JammyDodger 提到的那样,将您的账户 B 添加到应用的 yml 文件的 Dev 部分。
## TODO: 列出以逗号分隔的电子邮件,这些用户将在首次注册时成为管理员和开发者
## 示例 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'gavin@truecode.co.za'
2 个赞
看来你最终还是走对了方向,谢谢!
非常感谢你的反馈 ˆˆ
2 个赞
成功了, impersonate 按钮回来了!谢谢 Gavin ˆˆ
不过我还是没看到仪表板中的“版本”部分,而且仍然不清楚我当初为何能够 impersonate 某人。
1 个赞
system
(system)
关闭
16
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.