J'utilise restful_authentication plugin pour Ruby on Rails. Tout semble bien, sauf qu'il semble que la session utilisateur ne soit pas créée du tout. J'ai la méthode create ci-dessous. Il semble que self.current_user est en cours de définition mais que la session elle-même n'est jamais créée. Quand et comment est-ce que current_user_session est supposé être défini? J'ai la méthode dans mon contrôleur d'application, mais c'est là où il échoue toujours.Restful_authentication plugin ne fonctionne pas
def create
logout_keeping_session!
user = User.authenticate(params[:login], params[:password])
if user
# Protects against session fixation attacks, causes request forgery
# protection if user resubmits an earlier form using back
# button. Uncomment if you understand the tradeoffs.
# reset_session
self.current_user = user
new_cookie_flag = (params[:remember_me] == "1")
handle_remember_cookie! new_cookie_flag
redirect_back_or_default('/')
flash[:notice] = "Logged in successfully"
else
note_failed_signin
@login = params[:login]
@remember_me = params[:remember_me]
render :action => 'new'
end
fin
Application_Controller
def current_user_session
return @current_user_session if defined?(@current_user_session)
@current_user_session = UserSession.find
end
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.user
end
modèle UserSession est vide
Devise est en fait construit sur un autre bijou appelé Warden qui est assez impressionnant en soi. –