Discourse 管理功能突然无法访问

就在今天,我无法点击我们 Discourse 论坛页面右上角的汉堡菜单,通常通过该菜单可以访问管理功能。我点击后没有任何反应。

当我尝试通过 /admin 进入管理区域时,出现以下提示:

我一直都能正常访问该区域,直到今天为止。我已在两个不同的浏览器中尝试过。

我首先想到的是检查是否需要更新……但我无法进入相关页面!

如有任何帮助,不胜感激。

如果您还有其他管理员,他们可能已经移除了您的管理员权限。

感谢回复,@itsbhanusharma。情况似乎并非如此。我是唯一在管理面板中进行操作的人,而其他拥有管理员权限的用户也被锁定了。(我刚刚检查过。)

我们上周运行了该更新;我怀疑是否有什么环节失败了。通常我会通过管理面板进行检查;是否可以通过 SSH 登录服务器手动更新?

您可以先尝试安全模式:https://discuss.uplift.us.us/safe-mode

但您最好先检查一下您的插件。

您是否拥有其他管理员权限,例如针对主题/帖子的权限?

如果您通过 SSH 登录到服务器,应该可以检查您的用户是否拥有管理员权限。例如,在我的服务器上:

root@discourse-docker:~# /var/discourse/launcher enter app
root@discourse-docker-app:/var/www/discourse# rails c
[1] pry(main)> User.find_by(username: 'supermathie').admin?
=> true

如果您想获取管理员列表,可以执行:

[2] pry(main)> User.real.where(admin: true).pluck :username
=> ["supermathie"]

你在 /about 中看到自己列为管理员了吗?

感谢大家的建议!

  • 安全模式没有帮助;我们很久没有(甚至从未)添加过任何插件。
  • 我按照 @supermathie 的建议检查了设置;我们所有人仍然是管理员。正如 @RGJ 所建议的,我们也显示在 /about 页面中。

我怀疑这不是管理员权限的问题,因为我们中甚至没有人能够点击汉堡菜单;点击后没有任何菜单出现。管理员选项并不是该菜单上的唯一内容。

我个人怀疑是上次更新出了问题,但我不确定如何安全地通过命令行重新执行更新。

执行备份:

root@discourse-docker-app:/# discourse backup
正在开始备份...
…
[SUCCESS]
备份完成。
输出文件位于:/var/www/discourse/public/backups/default/discourse-2020-01-20-163535-v20190603134013.tar.gz

返回主机

将备份文件复制到其他地方:

root@discourse-docker:~# cp /var/discourse/shared/standalone/backups/default/discourse-2020-01-20-163535-v20190603134013.tar.gz ~

开始重建:

root@discourse-docker:~# /var/discourse/launcher rebuild app

谢谢,@supermathie!不管之前是什么问题,现在已经解决了。汉堡菜单又能正常使用了。