使用 Sails.js 路由到子域

Routing to subdomains using Sails.js

我正在尝试在 Sails.js 中创建一个应用程序,其中根据用户个人资料中的公司属性将用户路由到特定的子域。

例如,Jack Smith 属于公司 "pluto"。如果 Jack 在 myapp.com 登录到应用程序,他将被重定向到 pluto.myapp.com 的仪表板。

express.js 似乎有很多这方面的资源,但我似乎找不到关于如何在 Sails 中应用这些原则的直接答案(请参阅 this)。我是 Sails/NodeJs 的新手,所以这很可能是我的错:)

非常感谢任何帮助。

您在 express 上找到的很多文章都适用于 sails,但由于您使用的是身份验证,它们可能会过度设计问题。

您的仪表板将根据用户或公司设置而变化。由于您的仪表板位于登录后,因此子域与实现您的目标无关,因为调整仪表板上显示的数据的变量很容易通过会话或令牌找到,具体取决于您的身份验证方式。

我能为您提供的最简单的答案是假设您已经将子域正确路由到主域。然后您所要做的就是让他们登录并通过 res.redirect(subDomain+'.mysite.com') 将他们定向到正确的子域。然后可以根据他们的登录凭据显示仪表板,而无需真正关心子域是什么。在这种情况下,子域仅用于装饰。

现在,如果您想要强制执行并确保始终为个人凭据显示正确的子域,您始终可以在策略中进行验证。