2010-01-26 3 views
3

Contexte: Une application pour rails avec authlogic sigup et connectez-vous informations d'installation: Rails 2.3.2question Bizarre authlogic seulement dans la production

Un contrôleur appelé les messages avec une action 'show'. Lors de la connexion, j'affiche les messages/page d'index.

et lorsque l'utilisateur clique sur un élément, les détails de l'élément s'affichent. Des trucs assez standard.

Tout cela fonctionne très bien et dandy à la fois dans le développement et la production (avec Apache 2.2.5 passagers sur ubuntu et MySQL), sauf pour le problème suivant dans un cas:

Problème: uniquement sur Firefox/Safari/Chrome (IE7 est Ok) et seulement dans la production,

Lorsque l'utilisateur se connecte pour la toute première d'une nouvelle session (ouvrir nouveau navigateur, tapez URL), la page d'index est affiché fin et quand un élément est cliqué, l'utilisateur est mystérieusement déconnecté (current_us er renvoie null). Lorsque vous vous connectez à nouveau, tout est de retour à la normale - vous pouvez vous déconnecter et vous connecter à n'importe quel nombre de fois et sans problème - jusqu'à ce que vous fermez le navigateur et recommencez.

Toute action autre que 'show' a conservé l'utilisateur current_user et fonctionne correctement.

QUESTION: Comment la session utilisateur de se perdre sur un appel comme celui-ci messages/id une seule fois - la première fois? L'action show ne fait rien de spécial.

J'ai utilisé à la fois ActiveRecord Store et des cookies pour la gestion de session avec le même comportement.

Quelqu'un a des indices, grandement apprécié!

Répondre

3

Cela pourrait se produire parce que l'utilisateur est obtenir redirigé de: http://yoursite.com à http://www.yoursite.com

Voici un blog qui mentionne ce problème: http://garrickvanburen.com/archive/rails-cookie-settings-for-cross-subdomain-sessions

Pour paraphraser le blog: Le correctif est de définir: config.action_controller.session[:domain] = '.YOURDOMAIN.COM' inside de environment.rb (Assurez-vous de le préfixer avec .). Cela fera fonctionner les cookies pour www.yourdomain.com et yourdomain.com (ainsi que tous les autres sous-domaines).

Cette technique est également abordée ici: Losing session in rails 2.3.2 app using subdomain

+0

qui a pris soin de mon problème! Merci beaucoup. Votre aide Vraiment appréciée. – user16455

Questions connexes