Перенаправление после сбоя входа больше, чем раньше - PullRequest
0 голосов
/ 14 ноября 2011

Мне любопытно, обновляются ли браузеры после того, что раньше работало.Я получаю много отзывов от пользователей, которые говорят, что после входа они перенаправляются на домашнюю страницу, а не на то место, где они были последними, перед тем как их попросили ввести имя .

Мой контроллер приложений:

def require_user
  unless current_user
    store_location
    flash[:notice] = "You must be logged in to access this page"
    redirect_to login_url
    return false
  end
end

def store_location
  session[:return_to] = request.request_uri
end

def redirect_back_or_default(default)
  redirect_to(session[:return_to] || default)
  session[:return_to] = nil
end

Не могли бы вы сделать что-нибудь по-другому здесь?

Я использую AuthLogic, Rails 2.

1 Ответ

1 голос
/ 14 ноября 2011

Обратите внимание, что по соображениям безопасности иногда сеанс сбрасывается при входе пользователя в систему.Это очистит вашу информацию о перенаправлении, и это перенаправление на default, которое, как я предполагаю, будет домашней страницей.

Причина сброса сеанса состоит в том, чтобы избежать фиксации сеанса .

Так что либо у вас будет что-то вроде

before_filter :reset_session, :only => [:create]

в вашем коде, который будет сбрасывать сеанс при входе пользователя в систему. Или authlogic теперь делает это сам по себе.

Решение:использовать skip_before_filter?Я еще не нашел лучшего решения.

Надеюсь, это поможет.

...