fix xml to php migration for security services

This commit is contained in:
Tobias Schultze 2020-06-24 17:56:57 +02:00
parent acc705762a
commit 857123f8bf
5 changed files with 78 additions and 65 deletions

View File

@ -106,7 +106,9 @@ return static function (ContainerConfigurator $container) {
->args(['none']) ->args(['none'])
->set('security.encoder_factory.generic', EncoderFactory::class) ->set('security.encoder_factory.generic', EncoderFactory::class)
->args([[]]) ->args([
[],
])
->alias('security.encoder_factory', 'security.encoder_factory.generic') ->alias('security.encoder_factory', 'security.encoder_factory.generic')
->alias(EncoderFactoryInterface::class, 'security.encoder_factory') ->alias(EncoderFactoryInterface::class, 'security.encoder_factory')
@ -160,12 +162,12 @@ return static function (ContainerConfigurator $container) {
// Firewall related services // Firewall related services
->set('security.firewall', FirewallListener::class) ->set('security.firewall', FirewallListener::class)
->tag('kernel.event_subscriber')
->args([ ->args([
service('security.firewall.map'), service('security.firewall.map'),
service('event_dispatcher'), service('event_dispatcher'),
service('security.logout_url_generator'), service('security.logout_url_generator'),
]) ])
->tag('kernel.event_subscriber')
->alias(Firewall::class, 'security.firewall') ->alias(Firewall::class, 'security.firewall')
->set('security.firewall.map', FirewallMap::class) ->set('security.firewall.map', FirewallMap::class)
@ -238,7 +240,7 @@ return static function (ContainerConfigurator $container) {
abstract_arg('uid key'), abstract_arg('uid key'),
abstract_arg('filter'), abstract_arg('filter'),
abstract_arg('password_attribute'), abstract_arg('password_attribute'),
[], // extra_fields (email etc)'), abstract_arg('extra_fields (email etc)'),
]) ])
->set('security.user.provider.chain', ChainUserProvider::class) ->set('security.user.provider.chain', ChainUserProvider::class)
@ -253,23 +255,24 @@ return static function (ContainerConfigurator $container) {
// Validator // Validator
->set('security.validator.user_password', UserPasswordValidator::class) ->set('security.validator.user_password', UserPasswordValidator::class)
->tag('validator.constraint_validator', ['alias' => 'security.validator.user_password'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.encoder_factory'), service('security.encoder_factory'),
]) ])
->tag('validator.constraint_validator', ['alias' => 'security.validator.user_password'])
// Cache // Cache
->set('cache.security_expression_language') ->set('cache.security_expression_language')
->parent('cache.system') ->parent('cache.system')
->private()
->tag('cache.pool') ->tag('cache.pool')
// Cache Warmers // Cache Warmers
->set('security.cache_warmer.expression', ExpressionCacheWarmer::class) ->set('security.cache_warmer.expression', ExpressionCacheWarmer::class)
->tag('kernel.cache_warmer')
->args([ ->args([
[], [],
service('security.expression_language'), service('security.expression_language'),
]) ])
->tag('kernel.cache_warmer')
; ;
}; };

View File

@ -24,6 +24,7 @@ use Symfony\Component\Security\Http\Authenticator\RememberMeAuthenticator;
use Symfony\Component\Security\Http\Authenticator\RemoteUserAuthenticator; use Symfony\Component\Security\Http\Authenticator\RemoteUserAuthenticator;
use Symfony\Component\Security\Http\Authenticator\X509Authenticator; use Symfony\Component\Security\Http\Authenticator\X509Authenticator;
use Symfony\Component\Security\Http\EventListener\CheckCredentialsListener; use Symfony\Component\Security\Http\EventListener\CheckCredentialsListener;
use Symfony\Component\Security\Http\EventListener\PasswordMigratingListener;
use Symfony\Component\Security\Http\EventListener\RememberMeListener; use Symfony\Component\Security\Http\EventListener\RememberMeListener;
use Symfony\Component\Security\Http\EventListener\SessionStrategyListener; use Symfony\Component\Security\Http\EventListener\SessionStrategyListener;
use Symfony\Component\Security\Http\EventListener\UserCheckerListener; use Symfony\Component\Security\Http\EventListener\UserCheckerListener;
@ -35,15 +36,15 @@ return static function (ContainerConfigurator $container) {
// Manager // Manager
->set('security.authenticator.manager', AuthenticatorManager::class) ->set('security.authenticator.manager', AuthenticatorManager::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
[], // authenticators abstract_arg('authenticators'),
service('security.token_storage'), service('security.token_storage'),
service('event_dispatcher'), service('event_dispatcher'),
null, // provider key abstract_arg('provider key'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
param('security.authentication.manager.erase_credentials'), param('security.authentication.manager.erase_credentials'),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authenticator.managers_locator', ServiceLocator::class) ->set('security.authenticator.managers_locator', ServiceLocator::class)
->args([[]]) ->args([[]])
@ -62,15 +63,21 @@ return static function (ContainerConfigurator $container) {
->set('security.firewall.authenticator', AuthenticatorManagerListener::class) ->set('security.firewall.authenticator', AuthenticatorManagerListener::class)
->abstract() ->abstract()
->args([ ->args([
null, // authenticator manager abstract_arg('authenticator manager'),
]) ])
// Listeners // Listeners
->set('security.listener.check_authenticator_credentials', CheckCredentialsListener::class) ->set('security.listener.check_authenticator_credentials', CheckCredentialsListener::class)
->tag('kernel.event_subscriber')
->args([ ->args([
service('security.encoder_factory'), service('security.encoder_factory'),
]) ])
->tag('kernel.event_subscriber')
->set('security.listener.password_migrating', PasswordMigratingListener::class)
->args([
service('security.encoder_factory'),
])
->tag('kernel.event_subscriber')
->set('security.listener.user_checker', UserCheckerListener::class) ->set('security.listener.user_checker', UserCheckerListener::class)
->abstract() ->abstract()
@ -86,74 +93,74 @@ return static function (ContainerConfigurator $container) {
->set('security.listener.remember_me', RememberMeListener::class) ->set('security.listener.remember_me', RememberMeListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
[], // remember me services abstract_arg('remember me services'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
// Authenticators // Authenticators
->set('security.authenticator.http_basic', HttpBasicAuthenticator::class) ->set('security.authenticator.http_basic', HttpBasicAuthenticator::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
null, // realm name abstract_arg('realm name'),
null, // user provider abstract_arg('user provider'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authenticator.form_login', FormLoginAuthenticator::class) ->set('security.authenticator.form_login', FormLoginAuthenticator::class)
->abstract() ->abstract()
->args([ ->args([
service('security.http_utils'), service('security.http_utils'),
null, // user provider abstract_arg('user provider'),
null, // authentication success handler abstract_arg('authentication success handler'),
null, // authentication failure handler abstract_arg('authentication failure handler'),
[], // options abstract_arg('options'),
]) ])
->set('security.authenticator.json_login', JsonLoginAuthenticator::class) ->set('security.authenticator.json_login', JsonLoginAuthenticator::class)
->abstract() ->abstract()
->args([ ->args([
service('security.http_utils'), service('security.http_utils'),
null, // user provider abstract_arg('user provider'),
null, // authentication success handler abstract_arg('authentication success handler'),
null, // authentication failure handler abstract_arg('authentication failure handler'),
[], // options abstract_arg('options'),
service('property_accessor')->nullOnInvalid(), service('property_accessor')->nullOnInvalid(),
]) ])
->set('security.authenticator.remember_me', RememberMeAuthenticator::class) ->set('security.authenticator.remember_me', RememberMeAuthenticator::class)
->abstract() ->abstract()
->args([ ->args([
[], // remember me services abstract_arg('remember me services'),
param('kernel.secret'), param('kernel.secret'),
service('security.token_storage'), service('security.token_storage'),
[], // options abstract_arg('options'),
service('security.authentication.session_strategy'), service('security.authentication.session_strategy'),
]) ])
->set('security.authenticator.x509', X509Authenticator::class) ->set('security.authenticator.x509', X509Authenticator::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
null, // user provider abstract_arg('user provider'),
service('security.token_storage'), service('security.token_storage'),
null, // firewall name abstract_arg('firewall name'),
null, // user key abstract_arg('user key'),
null, // credentials key abstract_arg('credentials key'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authenticator.remote_user', RemoteUserAuthenticator::class) ->set('security.authenticator.remote_user', RemoteUserAuthenticator::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
null, // user provider abstract_arg('user provider'),
service('security.token_storage'), service('security.token_storage'),
null, // firewall name abstract_arg('firewall name'),
null, // user key abstract_arg('user key'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
; ;
}; };

View File

@ -24,18 +24,18 @@ return static function (ContainerConfigurator $container) {
]) ])
->set('debug.security.voter.vote_listener', VoteListener::class) ->set('debug.security.voter.vote_listener', VoteListener::class)
->tag('kernel.event_subscriber')
->args([ ->args([
service('debug.security.access.decision_manager'), service('debug.security.access.decision_manager'),
]) ])
->tag('kernel.event_subscriber')
->set('debug.security.firewall', TraceableFirewallListener::class) ->set('debug.security.firewall', TraceableFirewallListener::class)
->tag('kernel.event_subscriber')
->args([ ->args([
service('security.firewall.map'), service('security.firewall.map'),
service('event_dispatcher'), service('event_dispatcher'),
service('security.logout_url_generator'), service('security.logout_url_generator'),
]) ])
->tag('kernel.event_subscriber')
->alias('security.firewall', 'debug.security.firewall') ->alias('security.firewall', 'debug.security.firewall')
; ;
}; };

View File

@ -42,13 +42,13 @@ use Symfony\Component\Security\Http\Firewall\X509AuthenticationListener;
return static function (ContainerConfigurator $container) { return static function (ContainerConfigurator $container) {
$container->services() $container->services()
->set('security.authentication.listener.anonymous', AnonymousAuthenticationListener::class) ->set('security.authentication.listener.anonymous', AnonymousAuthenticationListener::class)
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.untracked_token_storage'), service('security.untracked_token_storage'),
abstract_arg('Key'), abstract_arg('Key'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
service('security.authentication.manager'), service('security.authentication.manager'),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.provider.anonymous', AnonymousAuthenticationProvider::class) ->set('security.authentication.provider.anonymous', AnonymousAuthenticationProvider::class)
->args([abstract_arg('Key')]) ->args([abstract_arg('Key')])
@ -62,17 +62,16 @@ return static function (ContainerConfigurator $container) {
->set('security.authentication.basic_entry_point', BasicAuthenticationEntryPoint::class) ->set('security.authentication.basic_entry_point', BasicAuthenticationEntryPoint::class)
->set('security.channel_listener', ChannelListener::class) ->set('security.channel_listener', ChannelListener::class)
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.access_map'), service('security.access_map'),
service('security.authentication.retry_entry_point'), service('security.authentication.retry_entry_point'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.access_map', AccessMap::class) ->set('security.access_map', AccessMap::class)
->set('security.context_listener', ContextListener::class) ->set('security.context_listener', ContextListener::class)
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.untracked_token_storage'), service('security.untracked_token_storage'),
[], [],
@ -81,6 +80,7 @@ return static function (ContainerConfigurator $container) {
service('event_dispatcher')->nullOnInvalid(), service('event_dispatcher')->nullOnInvalid(),
service('security.authentication.trust_resolver'), service('security.authentication.trust_resolver'),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.logout_listener', LogoutListener::class) ->set('security.logout_listener', LogoutListener::class)
->abstract() ->abstract()
@ -91,9 +91,11 @@ return static function (ContainerConfigurator $container) {
[], // Options [], // Options
]) ])
->set('security.logout.listener.session', SessionLogoutListener::class)->abstract() ->set('security.logout.listener.session', SessionLogoutListener::class)
->abstract()
->set('security.logout.listener.cookie_clearing', CookieClearingLogoutListener::class)->abstract() ->set('security.logout.listener.cookie_clearing', CookieClearingLogoutListener::class)
->abstract()
->set('security.logout.listener.default', DefaultLogoutListener::class) ->set('security.logout.listener.default', DefaultLogoutListener::class)
->abstract() ->abstract()
@ -110,24 +112,24 @@ return static function (ContainerConfigurator $container) {
->set('security.authentication.listener.abstract') ->set('security.authentication.listener.abstract')
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.authentication.manager'), service('security.authentication.manager'),
service('security.authentication.session_strategy'), service('security.authentication.session_strategy'),
service('security.http_utils'), service('security.http_utils'),
abstract_arg(''), abstract_arg('Provider-shared Key'),
service('security.authentication.success_handler'), service('security.authentication.success_handler'),
service('security.authentication.failure_handler'), service('security.authentication.failure_handler'),
[], [],
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
service('event_dispatcher')->nullOnInvalid(), service('event_dispatcher')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.custom_success_handler', CustomAuthenticationSuccessHandler::class) ->set('security.authentication.custom_success_handler', CustomAuthenticationSuccessHandler::class)
->abstract() ->abstract()
->args([ ->args([
abstract_arg('The custom success handler service id'), abstract_arg('The custom success handler service'),
[], // Options [], // Options
abstract_arg('Provider-shared Key'), abstract_arg('Provider-shared Key'),
]) ])
@ -142,19 +144,19 @@ return static function (ContainerConfigurator $container) {
->set('security.authentication.custom_failure_handler', CustomAuthenticationFailureHandler::class) ->set('security.authentication.custom_failure_handler', CustomAuthenticationFailureHandler::class)
->abstract() ->abstract()
->args([ ->args([
abstract_arg('The custom failure handler service id'), abstract_arg('The custom failure handler service'),
[], // Options [], // Options
]) ])
->set('security.authentication.failure_handler', DefaultAuthenticationFailureHandler::class) ->set('security.authentication.failure_handler', DefaultAuthenticationFailureHandler::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('http_kernel'), service('http_kernel'),
service('security.http_utils'), service('security.http_utils'),
[], // Options [], // Options
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.listener.form', UsernamePasswordFormAuthenticationListener::class) ->set('security.authentication.listener.form', UsernamePasswordFormAuthenticationListener::class)
->parent('security.authentication.listener.abstract') ->parent('security.authentication.listener.abstract')
@ -162,7 +164,6 @@ return static function (ContainerConfigurator $container) {
->set('security.authentication.listener.x509', X509AuthenticationListener::class) ->set('security.authentication.listener.x509', X509AuthenticationListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.authentication.manager'), service('security.authentication.manager'),
@ -172,10 +173,10 @@ return static function (ContainerConfigurator $container) {
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
service('event_dispatcher')->nullOnInvalid(), service('event_dispatcher')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.listener.json', UsernamePasswordJsonAuthenticationListener::class) ->set('security.authentication.listener.json', UsernamePasswordJsonAuthenticationListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.authentication.manager'), service('security.authentication.manager'),
@ -188,10 +189,10 @@ return static function (ContainerConfigurator $container) {
service('event_dispatcher')->nullOnInvalid(), service('event_dispatcher')->nullOnInvalid(),
service('property_accessor')->nullOnInvalid(), service('property_accessor')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.listener.remote_user', RemoteUserAuthenticationListener::class) ->set('security.authentication.listener.remote_user', RemoteUserAuthenticationListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.authentication.manager'), service('security.authentication.manager'),
@ -200,10 +201,10 @@ return static function (ContainerConfigurator $container) {
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
service('event_dispatcher')->nullOnInvalid(), service('event_dispatcher')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.listener.basic', BasicAuthenticationListener::class) ->set('security.authentication.listener.basic', BasicAuthenticationListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.authentication.manager'), service('security.authentication.manager'),
@ -211,6 +212,7 @@ return static function (ContainerConfigurator $container) {
abstract_arg('Entry Point'), abstract_arg('Entry Point'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.provider.dao', DaoAuthenticationProvider::class) ->set('security.authentication.provider.dao', DaoAuthenticationProvider::class)
->abstract() ->abstract()
@ -244,22 +246,21 @@ return static function (ContainerConfigurator $container) {
->set('security.exception_listener', ExceptionListener::class) ->set('security.exception_listener', ExceptionListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.authentication.trust_resolver'), service('security.authentication.trust_resolver'),
service('security.http_utils'), service('security.http_utils'),
abstract_arg(''), abstract_arg('Provider-shared Key'),
service('security.authentication.entry_point')->nullOnInvalid(), service('security.authentication.entry_point')->nullOnInvalid(),
param('security.access.denied_url'), param('security.access.denied_url'),
service('security.access.denied_handler')->nullOnInvalid(), service('security.access.denied_handler')->nullOnInvalid(),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
false, // Stateless false, // Stateless
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.switchuser_listener', SwitchUserListener::class) ->set('security.authentication.switchuser_listener', SwitchUserListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
abstract_arg('User Provider'), abstract_arg('User Provider'),
@ -267,19 +268,20 @@ return static function (ContainerConfigurator $container) {
abstract_arg('Provider Key'), abstract_arg('Provider Key'),
service('security.access.decision_manager'), service('security.access.decision_manager'),
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
abstract_arg('_switch_user'), '_switch_user',
abstract_arg('ROLE_ALLOWED_TO_SWITCH'), 'ROLE_ALLOWED_TO_SWITCH',
service('event_dispatcher')->nullOnInvalid(), service('event_dispatcher')->nullOnInvalid(),
false, // Stateless false, // Stateless
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.access_listener', AccessListener::class) ->set('security.access_listener', AccessListener::class)
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.token_storage'), service('security.token_storage'),
service('security.access.decision_manager'), service('security.access.decision_manager'),
service('security.access_map'), service('security.access_map'),
service('security.authentication.manager'), service('security.authentication.manager'),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
; ;
}; };

View File

@ -22,7 +22,6 @@ return static function (ContainerConfigurator $container) {
$container->services() $container->services()
->set('security.authentication.listener.rememberme', RememberMeListener::class) ->set('security.authentication.listener.rememberme', RememberMeListener::class)
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
service('security.untracked_token_storage'), service('security.untracked_token_storage'),
service('security.authentication.rememberme'), service('security.authentication.rememberme'),
@ -32,6 +31,7 @@ return static function (ContainerConfigurator $container) {
abstract_arg('Catch exception flag set in RememberMeFactory'), abstract_arg('Catch exception flag set in RememberMeFactory'),
service('security.authentication.session_strategy'), service('security.authentication.session_strategy'),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.provider.rememberme', RememberMeAuthenticationProvider::class) ->set('security.authentication.provider.rememberme', RememberMeAuthenticationProvider::class)
->abstract() ->abstract()
@ -41,7 +41,6 @@ return static function (ContainerConfigurator $container) {
->set('security.authentication.rememberme.services.abstract') ->set('security.authentication.rememberme.services.abstract')
->abstract() ->abstract()
->tag('monolog.logger', ['channel' => 'security'])
->args([ ->args([
[], // User Providers [], // User Providers
abstract_arg('Shared Token Key'), abstract_arg('Shared Token Key'),
@ -49,6 +48,7 @@ return static function (ContainerConfigurator $container) {
[], // Options [], // Options
service('logger')->nullOnInvalid(), service('logger')->nullOnInvalid(),
]) ])
->tag('monolog.logger', ['channel' => 'security'])
->set('security.authentication.rememberme.services.persistent', PersistentTokenBasedRememberMeServices::class) ->set('security.authentication.rememberme.services.persistent', PersistentTokenBasedRememberMeServices::class)
->parent('security.authentication.rememberme.services.abstract') ->parent('security.authentication.rememberme.services.abstract')
@ -58,6 +58,7 @@ return static function (ContainerConfigurator $container) {
->parent('security.authentication.rememberme.services.abstract') ->parent('security.authentication.rememberme.services.abstract')
->abstract() ->abstract()
->set('security.rememberme.response_listener', ResponseListener::class)->tag('kernel.event_subscriber') ->set('security.rememberme.response_listener', ResponseListener::class)
->tag('kernel.event_subscriber')
; ;
}; };