diff --git a/UPGRADE-4.1.md b/UPGRADE-4.1.md
index b0343e08b5f11..d76e3a3796188 100644
--- a/UPGRADE-4.1.md
+++ b/UPGRADE-4.1.md
@@ -70,6 +70,7 @@ SecurityBundle
--------------
* The `logout_on_user_change` firewall option is deprecated.
+ * The `switch_user.stateless` firewall option is deprecated, use the `stateless` option instead.
* The `SecurityUserValueResolver` class is deprecated, use
`Symfony\Component\Security\Http\Controller\UserValueResolver` instead.
diff --git a/UPGRADE-5.0.md b/UPGRADE-5.0.md
index 72e5164bb42a1..7e4e7b0fbd356 100644
--- a/UPGRADE-5.0.md
+++ b/UPGRADE-5.0.md
@@ -65,6 +65,7 @@ SecurityBundle
--------------
* The `logout_on_user_change` firewall option has been removed.
+ * The `switch_user.stateless` firewall option has been removed.
* The `SecurityUserValueResolver` class has been removed.
Translation
diff --git a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
index f3f04f6eae64a..7ec0eef04c473 100644
--- a/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
+++ b/src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
@@ -249,7 +249,10 @@ private function addFirewallsSection(ArrayNodeDefinition $rootNode, array $facto
->scalarNode('provider')->end()
->scalarNode('parameter')->defaultValue('_switch_user')->end()
->scalarNode('role')->defaultValue('ROLE_ALLOWED_TO_SWITCH')->end()
- ->booleanNode('stateless')->defaultValue(false)->end()
+ ->booleanNode('stateless')
+ ->setDeprecated('The "%path%.%node%" configuration key has been deprecated in Symfony 4.1.')
+ ->defaultValue(false)
+ ->end()
->end()
->end()
;
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
index 9302e5377eae5..5fd16844906b5 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/CompleteConfigurationTest.php
@@ -111,7 +111,7 @@ public function testFirewalls()
array(
'parameter' => '_switch_user',
'role' => 'ROLE_ALLOWED_TO_SWITCH',
- 'stateless' => true,
+ 'stateless' => false,
),
),
array(
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php
index d60bca39e4a51..08aa19644ded6 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/container1.php
@@ -66,7 +66,7 @@
'http_basic' => true,
'form_login' => true,
'anonymous' => true,
- 'switch_user' => array('stateless' => true),
+ 'switch_user' => true,
'x509' => true,
'remote_user' => true,
'logout' => true,
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php
index 2724be3e28040..3889752f8f928 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/php/no_custom_user_checker.php
@@ -17,7 +17,7 @@
'http_basic' => true,
'form_login' => true,
'anonymous' => true,
- 'switch_user' => array('stateless' => true),
+ 'switch_user' => true,
'x509' => true,
'remote_user' => true,
'logout' => true,
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml
index ef76eef02d2b5..e73d3a6ecf8ab 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/container1.xml
@@ -49,7 +49,7 @@
-
+
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/no_custom_user_checker.xml b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/no_custom_user_checker.xml
index 996c8a7de20b5..b97d39adb5a78 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/no_custom_user_checker.xml
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/xml/no_custom_user_checker.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/container1.yml b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/container1.yml
index 9336c13343470..c38bbb0e5aa0f 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/container1.yml
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/container1.yml
@@ -49,7 +49,6 @@ security:
form_login: true
anonymous: true
switch_user:
- stateless: true
x509: true
remote_user: true
logout: true
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/no_custom_user_checker.yml b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/no_custom_user_checker.yml
index 05ee906237db8..6a196597c51e7 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/no_custom_user_checker.yml
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/Fixtures/yml/no_custom_user_checker.yml
@@ -12,8 +12,7 @@ security:
http_basic: true
form_login: true
anonymous: true
- switch_user:
- stateless: true
+ switch_user: true
x509: true
remote_user: true
logout: true
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
index 6d587816802b6..718c459f685b9 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/DependencyInjection/SecurityExtensionTest.php
@@ -132,7 +132,7 @@ public function testSwitchUserNotStatelessOnStatelessFirewall()
'some_firewall' => array(
'stateless' => true,
'http_basic' => null,
- 'switch_user' => array('stateless' => false),
+ 'switch_user' => true,
),
),
));
diff --git a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/JsonLogin/switchuser_stateless.yml b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/JsonLogin/switchuser_stateless.yml
index b8c832032c6f0..84a0493e050b2 100644
--- a/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/JsonLogin/switchuser_stateless.yml
+++ b/src/Symfony/Bundle/SecurityBundle/Tests/Functional/app/JsonLogin/switchuser_stateless.yml
@@ -9,6 +9,6 @@ security:
user_can_switch: { password: test, roles: [ROLE_USER, ROLE_ALLOWED_TO_SWITCH] }
firewalls:
main:
+ stateless: true
switch_user:
parameter: X-Switch-User
- stateless: true