我有x.com指向apple.y.com,另外還有one.y.com和two.y.com。我希望訪問x.com,one.y.com或two.y.com的用戶共享相同的會話。這可能嗎?如果沒有,最好的折衷是什麼?我可以在指向相同Rails應用程序的多個域之間共享一個cookie嗎?
回答
one.y.com
和two.y.com
可以通過將cookie域設置爲.y.com
來共享cookie。這將在y.com
的所有子域名上共享cookie。但是,不能直接與y.com
共享Cookie。有一種使用重定向的解決方案,但實現起來很難 - http://www.codeguru.com/csharp/csharp/cs_internet/article.php/c19417/Sharing-Cookies-Across-Domains.htm(示例在ASP.net中,但是您可以將解決方案應用於RoR)。
要使用相同的域使用相同的會話cookie工作,你應該在環境配置文件中配置這個。我爲我的一些應用程序這樣做。這是Rails 2.3.5應用程序,它應該與Rails 3相同,但我不積極。
首先,在config/initializers/session_store.rb
,確保:
# ActionController::Base.session_store = :active_record_store
被註釋掉。
接下來,所有的應用程序應該使用相同的密鑰和密碼,在同一文件中,設置:
ActionController::Base.session = {
:key => '_myapp_session',
:secret => 'some really long string of hex'
}
最後,配置環境文件,使用相同的域:
config/environments/development.rb
config.action_controller.session = {
:domain => ".rails.local"
}
config/environments/production.rb
config.action_controller.session = {
:domain => ".myapp.com"
}
這對x.com和y.com不起作用。爲什麼你不能使用active_record_store? – 2010-06-10 16:48:12
編輯添加它只能使用相同的域。使用活動記錄存儲可能適用於不同領域的應用程序,但是您可能必須在兩個應用程序上使用相同的數據庫,這些數據庫在將rails 2.3移動到機架後從未真正能夠工作,這就是爲什麼我使用使用共享密鑰和祕密會話cookie。 – 2010-06-11 02:18:26
這不回答任何OP問題。 – rxgx 2012-05-16 00:39:57
- 1. Rails&Heroku:我可以在兩個應用程序之間共享數據庫嗎?
- 2. 多個域可以指向相同的Azure Web應用程序嗎?
- 3. 我可以在應用程序之間共享HttpRuntime.Cache嗎?
- 4. 多個應用程序可以共享相同的ACL表?
- 5. 多個Rails應用程序可以在它們之間共享模型/通用業務域數據嗎?
- 6. 有可能在'一些'子域之間共享一個cookie?
- 7. 我們可以在應用程序域共享一個靜態字段嗎?
- 8. 在兩個asp.net mvc應用程序之間共享cookie
- 9. 一個域可以有多個Cookie嗎?
- 10. 兩個應用程序可以訪問相同的Cookie嗎?
- 11. OpenGraph元素可以在不同的應用程序之間共享嗎?
- 12. SharedPreferences可以在不同的Android應用程序之間共享嗎?
- 13. 我可以在應用程序間共享ELMAH配置嗎?
- 14. 如何共享之間的cookie的兩個不同的領域
- 15. 我可以在flex中的同一個項目中的兩個應用程序之間共享.as文件
- 16. Codeigniter子域名共享一個共同的應用程序
- 17. 在多個域名和swf之間共享cookie /數據
- 18. 我可以借用一個指向Rust的共享特徵的指針嗎?
- 19. 我可以在iOS應用程序和相應的Facebook遊戲之間共享相同的應用程序ID和應用程序密鑰嗎?
- 20. 不同的域指向相同的rails應用程序
- 21. 在codeigniter中的多個應用程序之間共享配置
- 22. 如何在同一個域下的服務器上的多個ColdFusion應用程序之間共享SESSION?
- 23. 兩個應用程序共享相同的數據庫Rails
- 24. 你可以在多個安裝程序之間共享wix碎片嗎?
- 25. rails:共享2個應用程序之間的信息
- 26. Symfony2 - 在多個應用程序之間共享用戶
- 27. 可以在多個SSL流之間共享boost :: asio :: ssl :: context嗎?
- 28. Tomcat在具有不同主機名的相同服務器上的兩個應用程序之間共享cookie
- 29. 在域之間共享一個as3類
- 30. 進程VS線程:兩個進程可以共享相同的共享內存嗎?可以兩個線程?
鏈接已過時 – 2013-10-18 05:04:15
@MikeAtlas:好吧,這就像堆棧溢出一樣的網站的美麗。由於鏈接已過期,因此您可以花費不到10秒的時間搜索Google,以找到更新的鏈接並將其編輯到答案中。 – 2013-10-18 09:33:31
更好的辦法是在你的文章中給出代碼示例,OP也可以在google上搜索10秒。另外,你真的認爲ASP.NET解決方案對於RoR問題是一個很好的答案嗎? – 2013-10-18 14:48:39