2010-04-02 4 views
4

J'ai ajouté auhlogic dans mon application Rails pour authentifier les utilisateurs. J'ai également inclus le code du Reset password tutorial. Tout fonctionne, le seul problème que j'ai est qu'une fois qu'un utilisateur s'enregistre, il se connecte automatiquement.autologin dans authlogic Rails

Tout le monde a travaillé avec authlogic, ce qui serait le meilleur & moyen le plus rapide pour désactiver l'autologin après l'enregistrement?

Répondre

2

Après l'enregistrement de sauvegarde réussit,

session = UserSession.find 
session.destroy if session 
6

Si vous utilisez cette façon:

Après l'enregistrement de sauvegarde réussit,

session = UserSession.find 
session.destroy if session 

Vous ne pouvez probablement la perte de votre session Admin , qui peut-être ajouter l'utilisateur.
Ainsi, la meilleure façon sera est juste d'ajouter des options à votre modèle user.rb:

acts_as_authentic do |c| 
    c.maintain_sessions = false 
    #for more options check the AuthLogic documentation 
end 

Maintenant, il devrait fonctionner.

+0

qui fonctionnerait mais aussi de façon permanente la désactiver la fonctionnalité maintenir des sessions. Donc, la réponse de Ptico est meilleure. Il désactive cela uniquement pour la requête nécessaire. –

15

Vous pouvez utiliser #save_without_session_maintenance:

@user = User.new(params[:user]) 
@user.save_without_session_maintenance 
+0

Cela l'a fait pour moi. – dmonopoly

+0

Fonctionne comme un charme! – ndland