Fix infinite redirect issues. Closes #787 and closes #795.

This commit is contained in:
José Valim 2011-01-20 09:22:37 +01:00
parent c78bb68c66
commit 0615c0a0a4
4 changed files with 8 additions and 5 deletions

View File

@ -104,7 +104,7 @@ class Devise::RegistrationsController < ApplicationController
# We need to use a copy because we don't want actions like update changing
# the current user in place.
def authenticate_scope!
send(:"authenticate_#{resource_name}!")
send(:"authenticate_#{resource_name}!", true)
self.resource = resource_class.to_adapter.get!(send(:"current_#{resource_name}").to_key)
end
end

View File

@ -36,8 +36,8 @@ module Devise
mapping = mapping.name
class_eval <<-METHODS, __FILE__, __LINE__ + 1
def authenticate_#{mapping}!
warden.authenticate!(:scope => :#{mapping})
def authenticate_#{mapping}!(force = false)
warden.authenticate!(:scope => :#{mapping}) if !devise_controller? || force
end
def #{mapping}_signed_in?

View File

@ -17,8 +17,6 @@ module Devise
prepend_before_filter :is_devise_resource?
respond_to *Mime::SET.map(&:to_sym) if mimes_for_respond_to.empty?
skip_before_filter *Devise.mappings.keys.map { |m| :"authenticate_#{m}!" }
end
# Gets the actual resource stored in the instance variable

View File

@ -31,5 +31,10 @@ module RailsApp
config.filter_parameters << :password
config.action_mailer.default_url_options = { :host => "localhost:3000" }
# This was used to break devise in some situations
config.to_prepare do
Devise::SessionsController.layout "application"
end
end
end