仅限工作人员登录?

大家好,

有没有办法将论坛的登录权限限制为特定角色,例如版主或管理员?

背景:我正在迁移一个较大的论坛,虽然该论坛的 URL 尚未对公众公开,但我希望在迁移后进行测试并为最终切换做准备期间,将登录权限限制为仅限版主和管理员。

我以为以前见过相关选项,但现在似乎找不到它了。

您可以设置论坛为仅限邀请,直到您准备就绪。之后,当您准备好时,可以更改设置以接受公开注册。在您的仪表板中,进入登录页面,勾选相应的复选框,按您的意愿进行设置。当您准备好后,返回并做出必要的更改。

一旦用户导入并激活其账户,此方案将无法生效。

临时反向代理虽可配合身份验证使用,但会引入复杂性。

是否可能更改 DNS 名称?你们计划如何管理停机时间?

您可能需要暂停所有用户,以防止他们收到邮件,这样即使他们偶然发现该网站,也无法登录。

如果这样还不够,您可以修改容器中的 nginx 配置,要求通过基本认证才能访问该网站。

我完全没意识到 Discourse 实际上没有任何基于角色的功能。我之前只在那些不存在此问题的项目中使用过它。我原以为可以通过这种方式限制登录。

@JimPas 正如 @Stephen 正确指出的那样,这对导入的用户不起作用。

在此期间,DNS 名称将会更改,因为旧论坛在此期间仍将继续运行。但正如我最初所说,我希望有额外的保护措施。

看起来 HTTP 基础认证将是唯一能添加额外保护并阻止用户登录的方法。我需要检查一下具体如何操作。

谢谢大家。

不完全是这样,你总是有一个可靠的备选方案:取消发布公共 DNS 记录,并在特定时期内使用 hosts 文件条目。如果你在公共 DNS 记录缺失的情况下重建系统,会导致 Let’s Encrypt 失效,但除此之外该方法可行。用户需要知道新的 DNS 名称和 IP 地址才能访问。

禁用账户是一个选项,但还有一个选项是在 /admin 中禁用所有邮件发送,这可能是更稳妥的做法。

另外,你还可以通过实施自己的身份管理(IdM)或单点登录(SSO)来增加一层访问控制。这需要更多工作,但可能在未来的其他方面带来巨大收益。具体取决于你的接受程度。

感谢列出替代方案,@Stephen

我认为基础认证是最直接的方式。使用本地主机文件对于技术经验较少的员工或版主来说有些繁琐,而 IdM/SSO 对于这 hopefully 短暂的过渡期(为最终迁移奠定基础)来说确实过于麻烦。此外,我们在那里的安全性本来就不高,所以可能最终根本不会去加强安全措施。

为了更新此问题,我认为我们现在有一个“员工只读”模式。但我不太确定如何激活它。:slight_smile: 除了常规的“对所有人只读”之外,我似乎在用户界面中找不到任何按钮。:thinking:

我会去探索一下。


我们现在有一个指南中的一些说明: