3

我有一個帶有authlogic身份驗證的rails應用程序和一個用subdomain-fu構建的username.domain.com結構。Rails中會話,子域和authlogic的問題

但是我的會話在從domain.com轉到username.domain.com時會中斷。我試着

config.action_controller.session = {:domain => '.localhost:3000'} 

添加到我的development.rb但接縫打破authlogic禁用登出/籤。

任何建議在做什麼?

在此先感謝!

回答

1

您在開發模式中遇到此問題,但在prod模式下可能不會出現此問題..您正嘗試設置頂級cookie。你的瀏覽器不會讓你這樣做。你正在嘗試與

config.action_controller.session = {:domain => '.localhost:3000'} 

做的是說

config.action_controller.session = {:domain => '.com'} 

嘗試建立類似的localhost.localdomain或dummylocal.com什麼定製地域,這將使其工作一樣好。

config.action_controller.session = {:domain => 'localhost.localdomain'} 
config.action_controller.session = {:domain => 'dummylocal.com'} 
1

對於Rails3中上面的代碼將提高NoMethodError

undefined method `session=' for ActionController::Base:Class 

所以,Rails3中,你不能改變你的環境配置,但應該設置你的app/config/initializers/session_store.rb的樣子:

YourAppName::Application.config.session_store :active_record_store, 
    {:key => '_your_namespace_session', :domain => '.yourdomain.com'}