| 摘要 | 为您的社区创建一个灵活的“软性登录门槛” | |
| 仓库 | GitHub - VaperinaDEV/soft-login-required: Creating a flexible Soft Gate for your community · GitHub | |
| 觉得有用? | > ./support --coffee | |
| 安装指南 | 如何安装主题或主题组件 | |
| Discourse 主题新手? | 使用 Discourse 主题的入门指南 |
安装此主题组件
![]()
该组件的功能是什么?
默认情况下,Discourse 为您提供两个主要选项:将站点向所有人开放,或者使用 login required(需要登录)站点设置将其完全锁定。
Soft Login Required 通过为您的社区创建一个灵活的 Soft Gate(软性门槛)来弥补这一差距:
重定向: 将匿名访客重定向到 /login。当他们尝试访问主题时,系统会将其重定向到 /login(并附带 returnPath 参数)。
登录页面上的主题预览卡片: 当从主题重定向时,会在 /login 页面上直接渲染一个自定义预览卡片,向访客展示他们即将解锁的主题的预览/上下文!
对 SEO 和爬虫友好: 搜索引擎机器人(Googlebot、Bingbot 等)通过 Discourse 原生的爬虫检测机制完全绕过前端重定向,从而保护您的 SEO 排名。
路由排除规则: 使用 disabled_url 设置轻松排除特定的路径或 URL 模式,支持使用通配符(例如 /c/* 或 /about)。
工作原理(用户流程)
访客访问主题
被重定向到 /login
在登录页面上看到主题预览卡片
登录
返回到确切的主题 URL
重要:设计理念(Soft Login Required 与 Login Required 的区别)
关于安全性与用户体验的说明:
该组件充当一个 Soft Login Gate(软性登录门槛),旨在用于用户体验层面的登录提示、年龄验证合规性或社区引导,同时完全保留 SEO 排名。由于 Discourse 核心会向搜索爬虫提供主题内容以供索引,因此出于设计原因,原始 HTML/JSON 对非 JS 客户端仍然是可访问的。如果您的使用场景需要严格的服务器端内容隔离,请改用 Discourse 内置的私有类别或
login required站点设置。
