Ensure that rails sessions remain valid over subdomains and https

If you’re using Active Record Store for your sessions (keeping sessions in a database) you may ‘lose’ your sessions when jumping to a subdomain or to a https connection (in my case it was the latter).

Here’s how to make sure your sessions don’t go walk about.

Add this line to your ‘config/environments/production.rb’ file

ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => ‘.mydomain.com’)

obviously replacing ‘mydomain.com’ for the domain in question.

6 Responses to “Ensure that rails sessions remain valid over subdomains and https”

  1. Sandro Says:

    You definitively save my life :D

  2. artifactory Says:

    Ditto - saved me some serious time. kudos.

  3. Jason Says:

    Very much thank yous sire.

  4. rndrfero Says:

    FOR ME (rails 2.0.2) THIS DID NOT WORK !!!!

    instead of it works following line:

    ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain] = ‘.mydomain.com’

  5. Alastair Says:

    THIS POST IS TWO YEARS OLD!!! BUT THANKS FOR THE UPDATE AND THE CAPS!!!

  6. Jeff Says:

    I HAVE RAILS 2.0.2

    ADDING ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS[:session_domain] = ‘.mydomain.com’
    gives me an authenticity error

    are u suure it’s right?

Leave a Reply

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-Spam Image