@RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @Bean
        @ConditionalOnMissingBean(name = AuthenticationSystemSupport.BEAN_NAME)
        public AuthenticationSystemSupport defaultAuthenticationSystemSupport(
            @Qualifier(PrincipalFactory.BEAN_NAME)
            final PrincipalFactory principalFactory,
            @Qualifier(PrincipalResolver.BEAN_NAME_PRINCIPAL_RESOLVER)
            final PrincipalResolver defaultPrincipalResolver,
            @Qualifier(ServicesManager.BEAN_NAME)
            final ServicesManager servicesManager,
            @Qualifier("authenticationTransactionManager")
            final AuthenticationTransactionManager authenticationTransactionManager,
            @Qualifier(PrincipalElectionStrategy.BEAN_NAME)
            final PrincipalElectionStrategy principalElectionStrategy,
            @Qualifier("authenticationResultBuilderFactory")
            final AuthenticationResultBuilderFactory authenticationResultBuilderFactory,
            @Qualifier(AuthenticationTransactionFactory.BEAN_NAME)
            final AuthenticationTransactionFactory authenticationTransactionFactory,
            @Qualifier(TenantExtractor.BEAN_NAME)
            final TenantExtractor tenantExtractor,
            @Qualifier(TenantsManager.BEAN_NAME)
            final TenantsManager tenantsManager) {
            return new DefaultAuthenticationSystemSupport(authenticationTransactionManager,
                principalElectionStrategy, authenticationResultBuilderFactory,
                authenticationTransactionFactory, servicesManager,
                defaultPrincipalResolver, principalFactory,
                tenantExtractor, tenantsManager);
        }
This is {@link CasCoreAuthenticationSupportConfiguration}.

@author Misagh Moayyed
@since 5.1.0
core/cas-server-core-authentication/src/main/java/org/apereo/cas/config/CasCoreAuthenticationSupportConfiguration.java