Merge r23908 from trunk to 6.0-stable (#42998).

git-svn-id: https://svn.redmine.org/redmine/branches/6.0-stable@23909 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Marius Balteanu
2025-08-10 13:24:49 +00:00
parent 00786c4b17
commit 48d46ee323
6 changed files with 15 additions and 0 deletions

View File

@@ -36,6 +36,7 @@ class AccountController < ApplicationController
redirect_back_or_default home_url, :referer => true
end
end
no_store
rescue AuthSourceException => e
logger.error "An error occurred when authenticating #{params[:username]}: #{e.message}"
render_error :message => e.message
@@ -95,6 +96,7 @@ class AccountController < ApplicationController
end
end
end
no_store
render :template => "account/password_recovery"
return
else

View File

@@ -115,6 +115,7 @@ class MyController < ApplicationController
end
end
end
no_store
end
# Create a new feeds key

View File

@@ -124,6 +124,7 @@ module Redmine
@sudo_form.original_fields = params.slice(*param_names)
# a simple 'render "sudo_mode/new"' works when used directly inside an
# action, but not when called from a before_action:
no_store
respond_to do |format|
format.html {render 'sudo_mode/new'}
format.js {render 'sudo_mode/new'}

View File

@@ -27,6 +27,7 @@ class AccountControllerTest < Redmine::ControllerTest
def test_get_login
get :login
assert_response :success
assert_includes @response.headers['Cache-Control'], 'no-store'
assert_select 'input[name=username][autocomplete=username]'
assert_select 'input[name=password][autocomplete=current-password]'
@@ -521,6 +522,7 @@ class AccountControllerTest < Redmine::ControllerTest
get :lost_password
assert_response :success
assert_includes @response.headers['Cache-Control'], 'no-store'
assert_select 'input[type=hidden][name=token][value=?]', token.value
end

View File

@@ -599,6 +599,7 @@ class MyControllerTest < Redmine::ControllerTest
def test_change_password
get :password
assert_response :success
assert_includes @response.headers['Cache-Control'], 'no-store'
assert_select 'input[type=password][name=password][autocomplete=current-password]'
assert_select 'input[type=password][name=new_password][autocomplete=new-password]'
assert_select 'input[type=password][name=new_password_confirmation][autocomplete=new-password]'

View File

@@ -259,6 +259,14 @@ class SudoModeTest < Redmine::IntegrationTest
end
end
def test_sudo_mode_should_include_cache_control_no_store
log_user("admin", "admin")
expire_sudo_mode!
get '/settings'
assert_response :success
assert_includes @response.headers['Cache-Control'], 'no-store'
end
private
# sudo mode is active after sign, let it expire by advancing the time