2017-07-28 4 views
0

L'ensemble de cookies de la session Rails est visible uniquement sur le sous-domaine qui lui est attribué (par exemple, le paramètre domain: nil dans la configuration du magasin de sessions). Cela signifie qu'il existe des sessions utilisateur distinctes par sous-domaine, ce que nous voulons. Cependant, nous aimerions quand même que les messages Flash soient visibles dans tous les sous-domaines. Donc, si elles se déconnectent foo.oursite.com et sont redirigées vers www.oursite.com, elles devraient voir le message «déconnecté avec succès» du flash, même s'il s'agit de sous-domaines différents. Donc ma question est: pouvons-nous configurer le système flash Rails pour utiliser un cookie séparé dans le magasin de session, afin que nous puissions définir domain: :all pour ce cookie et que le flash soit visible à travers les sous-domaines?Comment stocker le flash dans un cookie différent de la session Rails?

(Nous sommes sur Rails 5.0)

Répondre

1

Vous pourriez faire quelque chose comme e

Yourapp::Application.config.session_store :cookie_store, key: '_yourapp_session', :domain => :all 

Mais cela signifie tous vos cookies sont accessibles dans les sous-domaines et partageraient le connecté cookie de session.

Vous voudrez peut-être chercher à stocker des alertes dans la base de données et les récupérer au besoin.