2015-05-05 49 views
2

我試圖在Sails.js中創建一個應用程序,用戶根據其配置文件中的公司屬性路由到特定的子域。使用Sails.js路由到子域名

例如,傑克史密斯屬於公司「pluto」。如果傑克登錄到myapp.com上的應用程序,他將被重定向到pluto.myapp.com上的儀表板。

對於express.js,似乎有很多這方面的資源,但我似乎無法找到如何在Sails中應用這些原則的直接答案(請參閱this)。我是Sails/NodeJs的新手,所以這很可能是我的錯誤:)

任何幫助,非常感謝。

+0

是mayapp.com與pluto.myapp.com相同的應用程序? – Meeker

+0

@Meeker是的。 「myapp.com」與「pluto.myapp.com」相同 – Jay

回答

1

很多您在express上找到的文章都會應用於風帆,但是由於您使用的是認證,因此它們可能會過度設計問題。

您的儀表板將根據用戶或公司設置進行更改。由於您的儀表板位於登錄後,因此調整顯示在儀表板上的數據的變量通過會話或令牌很容易找到,具體取決於您的身份驗證方式,因此子域與實現目標無關。

我可以給你的問題最簡單的答案假設你已經有你的子域正確路由到你的主域。然後,您只需將其登錄並通過res.redirect(subDomain+'.mysite.com')將其引導至正確的子域。儀表板可以基於他們的登錄憑證顯示,而不必真正關心子域是什麼。在這種情況下,子域僅僅用於裝飾。

現在,如果您要強制執行並確保始終顯示某個人的憑證的正確子域,則始終可以在策略中驗證該域。

+0

謝謝!當用戶登錄時,我將它們重定向到適當的子域,然後設置一個策略來驗證應用程序內部每個操作的憑據。 – Jay