Commit 2f453134 authored by jplang's avatar jplang

Set a back_url when forcing new login after session expiration (#19655).

Patch by Holger Just.

git-svn-id: https://svn.redmine.org/redmine/trunk@14245 e93f8b46-1217-0410-a6f0-8f06a7374b81
parent b63b9bce
......@@ -63,9 +63,9 @@ class ApplicationController < ActionController::Base
if session[:user_id]
if session_expired? && !try_to_autologin
set_localization(User.active.find_by_id(session[:user_id]))
reset_session
self.logged_user = nil
flash[:error] = l(:error_session_expired)
redirect_to signin_url
require_login
else
session[:atime] = Time.now.utc.to_i
end
......
......@@ -56,14 +56,14 @@ class SessionsTest < ActionController::TestCase
def test_user_session_without_ctime_should_be_reset_if_lifetime_enabled
with_settings :session_lifetime => '720' do
get :index, {}, {:user_id => 2}
assert_redirected_to '/login'
assert_redirected_to 'http://test.host/login?back_url=http%3A%2F%2Ftest.host%2F'
end
end
def test_user_session_with_expired_ctime_should_be_reset_if_lifetime_enabled
with_settings :session_timeout => '720' do
get :index, {}, {:user_id => 2, :atime => 2.days.ago.utc.to_i}
assert_redirected_to '/login'
assert_redirected_to 'http://test.host/login?back_url=http%3A%2F%2Ftest.host%2F'
end
end
......@@ -77,14 +77,14 @@ class SessionsTest < ActionController::TestCase
def test_user_session_without_atime_should_be_reset_if_timeout_enabled
with_settings :session_timeout => '60' do
get :index, {}, {:user_id => 2}
assert_redirected_to '/login'
assert_redirected_to 'http://test.host/login?back_url=http%3A%2F%2Ftest.host%2F'
end
end
def test_user_session_with_expired_atime_should_be_reset_if_timeout_enabled
with_settings :session_timeout => '60' do
get :index, {}, {:user_id => 2, :atime => 4.hours.ago.utc.to_i}
assert_redirected_to '/login'
assert_redirected_to 'http://test.host/login?back_url=http%3A%2F%2Ftest.host%2F'
end
end
......@@ -117,7 +117,7 @@ class SessionsTest < ActionController::TestCase
with_settings :session_timeout => '60' do
get :index, {}, {:user_id => user.id, :atime => 4.hours.ago.utc.to_i}
assert_redirected_to '/login'
assert_redirected_to 'http://test.host/login?back_url=http%3A%2F%2Ftest.host%2F'
assert_include "Veuillez vous reconnecter", flash[:error]
assert_equal :fr, current_language
end
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment