我有兩個分離的子域的兩個應用程序等之間:app1.example.com和app2.example.com,數據庫被彼此之間共享,會話商店數據庫,問題是 如果用戶登錄到第一個應用程序,然後他切換到第二個應用程序,我怎麼能讓他登錄? 我使用sails.js和Redis的存儲會話共享登錄在帆子域
共享登錄在帆子域
回答
最後,在Cookie中添加域兩個應用程序後的作品, 文件的config/session.js
cookie{
domain: ".Example.com"
}
這將是幾乎像縮放 準備您的應用程序的集羣部署
要記住縮放的服務器端應用程序 最重要的事情它應該是無國界的。這意味着您應該是 能夠將相同的代碼部署到n個不同的服務器,期望任何給定的服務器處理傳入請求的任何 ,並且所有 都應該仍然有效。幸運的是,Sails應用程序已經準備就緒,幾乎可以立即使用這種 部署。但在將應用程序 部署到多個服務器之前,需要執行以下幾項操作:
確保您可能在您的應用程序 中使用的其他依賴項依賴於共享內存。確保數據庫(S)爲您的模型(如 MySQL和Postgres的,蒙戈)是可伸縮的(如分片/組),如果你的 應用程序使用會話:配置您的應用程序使用共享會話存儲 如Redis的(簡單地取消註釋在 配置/ session.js適配器選件),並安裝連接,redis的適配器爲您的應用 依賴(如故宮安裝[email protected]~3.0.2 --save --save嚴格)。如果您的應用程序使用套接字:配置您的應用程序使用Redis的作爲共享消息隊列的交付socket.io消息 (取消註釋在配置/ sockets.js適配器選件)安裝 socket.io,Redis的適配器的依賴你應用程序(如故宮安裝 [email protected]~1.0.0 --save --save嚴格)如果羣集是 單個服務器上(例如,使用PM2羣集模式)爲了避免文件 衝突問題,由於到Grunt任務,始終在 生產環境中啓動您的應用程序,和/或考慮完全關閉Grunt。 有關單服務器羣集中Grunt問題的更多詳細信息請參見此處 謹慎使用可保留 數據庫中數據的config/bootstrap.js代碼,以避免引導程序多次運行時發生衝突 (羣集中每個節點一次)
什麼工作對我來說是確保我們擁有所有的Web應用程序相同的密鑰。密鑰可以在config - > session.js中配置。
- 1. Apache和J2EE共享安全領域/登錄,單點登錄
- 2. Azure網站 - 跨子域共享登錄狀態
- 3. 如何在域和子域之間共享cookie,但不共享其他子域
- 4. symfony應用程序共享來自域名/子域名的登錄cookie
- 5. MyBatis登錄Websphere共享庫
- 6. FBConnect登錄,與webview共享?
- 7. Alfresco共享登錄問題
- 8. Joomla和cakephp共享登錄
- 9. 如何在域之間共享Firebase簡單登錄會話?
- 10. 在多個子域中的多個商店中共享opencart登錄會話
- 11. 的Mac Web共享子域
- 12. php子域會話共享
- 13. 會話,cookies,共享子域
- 14. Laravel共享主機 - 子域
- 15. 在Symfony中,跨子域共享數據
- 16. 如何在子域上共享會話?
- 17. 如何設置共享子目錄的子域的重定向
- 18. 如何跨多個域創建共享登錄服務?
- 19. 鏈接自動登錄和共享
- 20. Google plus登錄xcode共享擴展
- 21. 如何讓android登錄共享庫?
- 22. Android - 使用Google Plus登錄並共享
- 23. 共享首選項登錄活動
- 24. Django與Jasperserver共享登錄會話
- 25. SuiteCRM切換站點,共享登錄
- 26. IE共享登錄cookie - 不需要
- 27. Android登錄/共享偏好註冊
- 28. 簡單的跨站點共享登錄
- 29. 子域登錄Rails 3.2
- 30. 設計 - 登錄子域
感謝您的回答,但我不是要求擴展,我只是想知道如何在具有相同數據庫的多個應用程序上應用單一登錄,並將會話存儲在redis上,這也是它們之間共享的。 – aatsy
我告訴過你 - 你必須做相同的縮放。使用相同數據庫的兩個不同應用程序幾乎與縮減同一應用程序相同。不同的是,你必須在REDIS中啓用會話存儲,它將工作 –
我已經啓用它,它現在工作後設置父域cookie中的兩個 – aatsy