EZP-22045: Implemented base login in Symfony security context
EZP-22045: Inject current user in legacy kernel
EZP-22045: Ensure Symfony login is triggered when legacy sends 401 or 403 (legacy_mode: false)
EZP-22045: Moved ezpublish_legacy.security_mapper definition to security.yml
EZP-22045: Ignore user injection when in legacy_mode
EZP-22045: Disable user/login and user/logout legacy modules

Only when not in legacy_mode, to enforce usage of Symfony native form_login
EZP-22045: Added tests for pre/post build legacy kernel events
EZP-22045: Added tests for Security legacy mapper
EZP-22045: Removed obsolete legacy security listener and PreAuthenticatedProvider
EZP-22045: Added test for CoreVoter
EZP-22045: Added ValueObjectVoter

Definition was already present in security.yml
EZP-22045: Made login path siteaccess aware
EZP-22045: Fix tests
EZP-22045: Made configurable login template and base security layout
EZP-22045: Made login_check path siteaccess aware
EZP-22045: Added tests for RepositoryAuthenticationProvider
EZP-22045: Fixed non fully authenticated user when already logged in
EZP-22045: Added test for AnonymousAuthenticationProvider
EZP-22045: Added login_fields block to base login.html.twig
EZP-22045: Removed BasicAuthProvider

It’s no longer necessary since we now have a proper DAO provider (see RepositoryAuthenticationProvider).
HttpBasicFactory has been kept for BC with « ezpublish_http_basic » provider key.