Rails shared sessions with activerecord

后端 未结 4 1835
时光取名叫无心
时光取名叫无心 2020-12-29 16:26

I\'m currently using the default cookies as my single sign on (SSO) but some users are getting strange errors after I push an update. I\'m considering moving to active recor

4条回答
  •  天命终不由人
    2020-12-29 17:08

    Rails most certainly does support database session storage.

    In config/environment.rb, uncomment

    # config.action_controller.session_store = :active_record_store
    

    Examining \actionpack-2.2.2\lib\action_controller\session\active_record_store.rb shows that CGI::Session::ActiveRecordStore::Session inherits from ActiveRecord::Base.

    So at the end of config/environment.rb, you should be able to say

    CGI::Session::ActiveRecordStore::Session.establish_connection(
                                  :adapter => "mysql",
                                  :host => "otherserver",
                                  :username => "session_user",
                                  :password => "123ABC",
                                  :database => "sessions")
    

    or

    CGI::Session::ActiveRecordStore::Session.establish_connection(:sessions)
    

    to use a connect defined in config/database.yml


    For example, add to config/database.yml:

     sessions_development:
       adapter: mysql
       host: otherserver
       username: sessions_user
       password: 123ABC
       database: sessions
    

    Add to the end of config/environment.rb

     CGI::Session::ActiveRecordStore::Session.establish_connection("sessions_#{RAILS_ENV}")
    

提交回复
热议问题