trigger some deprecations for legacy methods

This commit is contained in:
Christian Flothmann 2017-11-23 11:49:18 +01:00
parent 82b36e42bf
commit e3396ea231
40 changed files with 80 additions and 63 deletions

18
UPGRADE-4.1.md Normal file
View File

@ -0,0 +1,18 @@
UPGRADE FROM 4.0 to 4.1
=======================
Security
--------
* The `ContextListener::setLogoutOnUserChange()` method is deprecated and will be removed in 5.0.
SecurityBundle
--------------
* The `logout_on_user_change` firewall option is deprecated and will be removed in 5.0.
Translation
-----------
* The `FileDumper::setBackup()` method is deprecated and will be removed in 5.0.
* The `TranslationWriter::disableBackup()` method is deprecated and will be removed in 5.0.

18
UPGRADE-5.0.md Normal file
View File

@ -0,0 +1,18 @@
UPGRADE FROM 4.x to 5.0
=======================
Security
--------
* The `ContextListener::setLogoutOnUserChange()` method has been removed.
SecurityBundle
--------------
* The `logout_on_user_change` firewall option has been removed.
Translation
-----------
* The `FileDumper::setBackup()` method has been removed.
* The `TranslationWriter::disableBackup()` method has been removed.

View File

@ -1,6 +1,11 @@
CHANGELOG
=========
4.1.0
-----
* The `logout_on_user_change` firewall option is deprecated and will be removed in 5.0.
4.0.0
-----

View File

@ -200,6 +200,7 @@ class MainConfiguration implements ConfigurationInterface
->booleanNode('logout_on_user_change')
->defaultTrue()
->info('When true, it will trigger a logout for the user if something has changed.')
->setDeprecated('The "%path%.%node%" configuration key has been deprecated in Symfony 4.1 and will be removed in 5.0.')
->end()
->arrayNode('logout')
->treatTrueLike(array())
@ -290,17 +291,6 @@ class MainConfiguration implements ConfigurationInterface
return $firewall;
})
->end()
->validate()
->ifTrue(function ($v) {
return (isset($v['stateless']) && true === $v['stateless']) || (isset($v['security']) && false === $v['security']);
})
->then(function ($v) {
// this option doesn't change behavior when true when stateless, so prevent deprecations
$v['logout_on_user_change'] = true;
return $v;
})
->end()
;
}

View File

@ -181,8 +181,6 @@ class SecurityExtension extends Extension
$customUserChecker = true;
}
$contextListenerDefinition->addMethodCall('setLogoutOnUserChange', array($firewall['logout_on_user_change']));
$configId = 'security.firewall.map.config.'.$name;
list($matcher, $listeners, $exceptionListener) = $this->createFirewall($container, $name, $firewall, $authenticationProviders, $providerIds, $configId);

View File

@ -13,7 +13,6 @@ $container->loadFromExtension('security', array(
'main' => array(
'form_login' => false,
'http_basic' => null,
'logout_on_user_change' => true,
),
),
));

View File

@ -72,7 +72,6 @@ $container->loadFromExtension('security', array(
'logout' => true,
'remember_me' => array('secret' => 'TheSecret'),
'user_checker' => null,
'logout_on_user_change' => true,
),
'host' => array(
'provider' => 'default',
@ -81,14 +80,12 @@ $container->loadFromExtension('security', array(
'methods' => array('GET', 'POST'),
'anonymous' => true,
'http_basic' => true,
'logout_on_user_change' => true,
),
'with_user_checker' => array(
'provider' => 'default',
'user_checker' => 'app.user_checker',
'anonymous' => true,
'http_basic' => true,
'logout_on_user_change' => true,
),
),

View File

@ -15,12 +15,10 @@ $container->loadFromExtension('security', array(
'main' => array(
'provider' => 'default',
'form_login' => true,
'logout_on_user_change' => true,
),
'other' => array(
'provider' => 'with-dash',
'form_login' => true,
'logout_on_user_change' => true,
),
),
));

View File

@ -12,7 +12,6 @@ $container->loadFromExtension('security', array(
'main' => array(
'provider' => 'undefined',
'form_login' => true,
'logout_on_user_change' => true,
),
),
));

View File

@ -11,7 +11,6 @@ $container->loadFromExtension('security', array(
'firewalls' => array(
'main' => array(
'form_login' => array('provider' => 'default'),
'logout_on_user_change' => true,
),
),
));

View File

@ -11,7 +11,6 @@ $container->loadFromExtension('security', array(
'firewalls' => array(
'main' => array(
'form_login' => array('provider' => 'undefined'),
'logout_on_user_change' => true,
),
),
));

View File

@ -11,7 +11,6 @@ $container->loadFromExtension('security', array(
'main' => array(
'form_login' => false,
'http_basic' => null,
'logout_on_user_change' => true,
),
),

View File

@ -6,7 +6,6 @@ $container->loadFromExtension('security', array(
'form_login' => array(
'login_path' => '/login',
),
'logout_on_user_change' => true,
),
),
'role_hierarchy' => array(

View File

@ -13,7 +13,6 @@ $container->loadFromExtension('security', array(
'catch_exceptions' => false,
'token_provider' => 'token_provider_id',
),
'logout_on_user_change' => true,
),
),
));

View File

@ -10,7 +10,7 @@
<provider name="default" id="foo" />
<firewall name="main" logout-on-user-change="true">
<firewall name="main">
<form-login login-path="/login" />
</firewall>
</config>

View File

@ -57,12 +57,12 @@
<remember-me secret="TheSecret"/>
</firewall>
<firewall name="host" pattern="/test" host="foo\.example\.org" methods="GET,POST" logout-on-user-change="true" provider="default">
<firewall name="host" pattern="/test" host="foo\.example\.org" methods="GET,POST" provider="default">
<anonymous />
<http-basic />
</firewall>
<firewall name="with_user_checker" logout-on-user-change="true" provider="default">
<firewall name="with_user_checker" provider="default">
<anonymous />
<http-basic />
<user-checker>app.user_checker</user-checker>

View File

@ -11,7 +11,7 @@
</sec:providers>
<sec:firewalls>
<sec:firewall name="main" provider="with-dash" logout-on-user-change="true">
<sec:firewall name="main" provider="with-dash">
<sec:form_login />
</sec:firewall>
</sec:firewalls>

View File

@ -11,7 +11,7 @@
</sec:providers>
<sec:firewalls>
<sec:firewall name="main" provider="undefined" logout-on-user-change="true">
<sec:firewall name="main" provider="undefined">
<sec:form_login />
</sec:firewall>
</sec:firewalls>

View File

@ -11,7 +11,7 @@
</sec:providers>
<sec:firewalls>
<sec:firewall name="main" logout-on-user-change="true">
<sec:firewall name="main">
<sec:form_login provider="default" />
</sec:firewall>
</sec:firewalls>

View File

@ -11,7 +11,7 @@
</sec:providers>
<sec:firewalls>
<sec:firewall name="main" logout-on-user-change="true">
<sec:firewall name="main">
<sec:form_login provider="undefined" />
</sec:firewall>
</sec:firewalls>

View File

@ -12,7 +12,7 @@
<sec:config>
<sec:provider name="default" id="foo" />
<sec:firewall name="main" form-login="false" logout-on-user-change="true">
<sec:firewall name="main" form-login="false">
<sec:http-basic />
</sec:firewall>

View File

@ -6,7 +6,7 @@
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<config>
<firewall name="main" logout-on-user-change="true">
<firewall name="main">
<form-login login-path="/login" />
</firewall>

View File

@ -9,7 +9,7 @@
<sec:providers>
<sec:default id="foo"/>
</sec:providers>
<sec:firewall name="main" logout-on-user-change="true">
<sec:firewall name="main">
<sec:form-login/>
<sec:remember-me secret="TheSecret" catch-exceptions="false" token-provider="token_provider_id" />
</sec:firewall>

View File

@ -10,4 +10,3 @@ security:
main:
form_login: false
http_basic: ~
logout_on_user_change: true

View File

@ -64,14 +64,12 @@ security:
methods: [GET,POST]
anonymous: true
http_basic: true
logout_on_user_change: true
with_user_checker:
provider: default
anonymous: ~
http_basic: ~
user_checker: app.user_checker
logout_on_user_change: true
role_hierarchy:
ROLE_ADMIN: ROLE_USER

View File

@ -11,8 +11,6 @@ security:
main:
provider: default
form_login: true
logout_on_user_change: true
other:
provider: with-dash
form_login: true
logout_on_user_change: true

View File

@ -8,4 +8,3 @@ security:
main:
provider: undefined
form_login: true
logout_on_user_change: true

View File

@ -8,4 +8,3 @@ security:
main:
form_login:
provider: default
logout_on_user_change: true

View File

@ -8,4 +8,3 @@ security:
main:
form_login:
provider: undefined
logout_on_user_change: true

View File

@ -9,7 +9,6 @@ security:
main:
form_login: false
http_basic: ~
logout_on_user_change: true
role_hierarchy:
FOO: [MOO]

View File

@ -3,7 +3,6 @@ security:
main:
form_login:
login_path: /login
logout_on_user_change: true
role_hierarchy:
FOO: BAR

View File

@ -10,4 +10,3 @@ security:
secret: TheSecret
catch_exceptions: false
token_provider: token_provider_id
logout_on_user_change: true

View File

@ -29,7 +29,6 @@ class MainConfigurationTest extends TestCase
),
'firewalls' => array(
'stub' => array(),
'logout_on_user_change' => true,
),
);
@ -77,7 +76,6 @@ class MainConfigurationTest extends TestCase
'csrf_token_generator' => 'a_token_generator',
'csrf_token_id' => 'a_token_id',
),
'logout_on_user_change' => true,
),
),
);
@ -107,7 +105,6 @@ class MainConfigurationTest extends TestCase
'firewalls' => array(
'stub' => array(
'user_checker' => 'app.henk_checker',
'logout_on_user_change' => true,
),
),
);

View File

@ -38,7 +38,6 @@ class SecurityExtensionTest extends TestCase
'form_login' => array(
'check_path' => '/some_area/login_check',
),
'logout_on_user_change' => true,
),
),
));
@ -62,7 +61,6 @@ class SecurityExtensionTest extends TestCase
'firewalls' => array(
'some_firewall' => array(
'pattern' => '/.*',
'logout_on_user_change' => true,
),
),
));
@ -90,7 +88,6 @@ class SecurityExtensionTest extends TestCase
'some_firewall' => array(
'pattern' => '/.*',
'http_basic' => array(),
'logout_on_user_change' => true,
),
),
));
@ -113,7 +110,6 @@ class SecurityExtensionTest extends TestCase
'some_firewall' => array(
'pattern' => '/.*',
'http_basic' => null,
'logout_on_user_change' => true,
),
),
));
@ -137,7 +133,6 @@ class SecurityExtensionTest extends TestCase
'stateless' => true,
'http_basic' => null,
'switch_user' => array('stateless' => false),
'logout_on_user_change' => true,
),
),
));
@ -159,7 +154,6 @@ class SecurityExtensionTest extends TestCase
'firewalls' => array(
'default' => array(
'http_basic' => array('provider' => 'second'),
'logout_on_user_change' => true,
),
),
));

View File

@ -1,6 +1,11 @@
CHANGELOG
=========
4.1.0
-----
* The `ContextListener::setLogoutOnUserChange()` method is deprecated and will be removed in 5.0.
4.0.0
-----

View File

@ -67,10 +67,12 @@ class ContextListener implements ListenerInterface
* Enables deauthentication during refreshUser when the user has changed.
*
* @param bool $logoutOnUserChange
*
* @deprecated since version 4.1, to be removed in 5.0
*/
public function setLogoutOnUserChange($logoutOnUserChange)
{
// no-op, method to be deprecated in 4.1
@trigger_error(sprintf('The %s() method is deprecated since 4.1 and will be removed in 5.0.', __METHOD__), E_USER_DEPRECATED);
}
/**

View File

@ -1,6 +1,12 @@
CHANGELOG
=========
4.1.0
-----
* The `FileDumper::setBackup()` method is deprecated and will be removed in 5.0.
* The `TranslationWriter::disableBackup()` method is deprecated and will be removed in 5.0.
4.0.0
-----

View File

@ -46,15 +46,16 @@ abstract class FileDumper implements DumperInterface
* Sets backup flag.
*
* @param bool
*
* @deprecated since version 4.1, to be removed in 5.0
*/
public function setBackup($backup)
{
@trigger_error(sprintf('The %s() method is deprecated since 4.1 and will be removed in 5.0.', __METHOD__), E_USER_DEPRECATED);
if (false !== $backup) {
throw new \LogicException('The backup feature is no longer supported.');
}
// the method is only present to not break BC
// to be deprecated in 4.1
}
/**

View File

@ -30,6 +30,9 @@ class TranslationWriterTest extends TestCase
$writer->write(new MessageCatalogue('en'), 'test');
}
/**
* @group legacy
*/
public function testDisableBackup()
{
$nonBackupDumper = new NonBackupDumper();

View File

@ -38,10 +38,13 @@ class TranslationWriter implements TranslationWriterInterface
/**
* Disables dumper backup.
*
* @deprecated since version 4.1, to be removed in 5.0
*/
public function disableBackup()
{
// to be deprecated in 4.1
@trigger_error(sprintf('The %s() method is deprecated since 4.1 and will be removed in 5.0.', __METHOD__), E_USER_DEPRECATED);
foreach ($this->dumpers as $dumper) {
if (method_exists($dumper, 'setBackup')) {
$dumper->setBackup(false);