Je ne connaissais pas prepend_before_filter et... c'est aussi con que ça. Merci beaucoup, je vais me taper la tête contre un mur et harceler l'auteur de act_as_tenant pour mettre à jour sa doc !
Le 3 février 2013 11:54, Florian Dutey <[email protected]> a écrit : > utiliser 'prepend_before_filter' au lieu de 'before_filter'? > Si ton problème est juste que "ca arrive trop tard", c'est peut etre aussi > con que ca... > > > Le 2 février 2013 23:40, Julien Grillot <[email protected]> a écrit : >> >> Bonsoir à tous, >> >> Pour ceux qui ne connaissent pas acts_as_tenant, cette gem permet de >> scope facilement des models pour chaque pseudo-instance de notre >> application (https://en.wikipedia.org/wiki/Multitenancy). Dans mon >> cas, je scope tout mon site par le domaine : http://www.rubybb.com et >> http://test.rubybb.com tapent au même endroit mais sont isolés l'un de >> l'autre par un « default_scope généralisé ». >> >> J'ai des difficultés à résoudre cela : mes users sont égalements >> scopés, chaque site a sa propre liste d'utilisateur, il faut donc >> s'inscrire sur chaque domaine sur lequel on souhaite être présent. Je >> ne souhaite pas de SSO. >> >> Avec acts_as_tenant, la seule chose que j'ai à faire est d'ajouter un >> before filter dans mon application_controller « >> set_current_tenant(@domain) ». Mais dans un cas, ce before_filter >> arrive « trop tard » : >> >> >> http://stackoverflow.com/questions/14664708/multitenancy-with-devise-users-default-scoped-by-subdomain-breaks-sessions >> >> Pour résumer, si l'utilisateur (current_user) n'est pas trouvé, Devise >> invalide la session (ce n'est pas sûr à 100 % mais ça y ressemble >> beaucoup). Hors, cette invalidation semble se faire avant le >> before_filter set_current_tenant. C'est à dire que si le >> current_tenant a changé depuis la dernière page (on visite un autre >> domaine que celui où l'on est actuellement connecté), Devise ne >> trouvera pas l'utilisateur (default_scope incorrect) et invalidera la >> session. >> >> Les étapes pour assister au bug sont décrites en tête du lien >> précédent, il est très facile à reproduire. De même avec les sources >> du projet. >> >> Si quelqu'un a une piste (ou une autre gem ?), je lui en serai >> grandement reconnaissant. >> >> Merci à vous ! >> >> -- >> -- >> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de >> Google Groups. >> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse >> [email protected] >> Pour résilier votre abonnement envoyez un e-mail à l'adresse >> [email protected] >> --- >> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes >> Railsfrance. >> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le >> concernant, envoyez un e-mail à l'adresse >> [email protected]. >> Pour plus d'options, visitez le site >> https://groups.google.com/groups/opt_out . >> >> > > -- > -- > Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de > Google Groups. > Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse > [email protected] > Pour résilier votre abonnement envoyez un e-mail à l'adresse > [email protected] > --- > Vous recevez ce message, car vous êtes abonné au groupe Google Groupes > Railsfrance. > Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le > concernant, envoyez un e-mail à l'adresse > [email protected]. > Pour plus d'options, visitez le site > https://groups.google.com/groups/opt_out . > > -- -- Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de Google Groups. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse [email protected] Pour résilier votre abonnement envoyez un e-mail à l'adresse [email protected] --- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Railsfrance. Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse [email protected]. Pour plus d'options, visitez le site https://groups.google.com/groups/opt_out .
