public static AuthenticationHandler newAuthenticationHandler(final QueryEncodeJdbcAuthenticationProperties properties,
                                                                 final ConfigurableApplicationContext applicationContext,
                                                                 final PrincipalFactory jdbcPrincipalFactory,
                                                                 final ServicesManager servicesManager,
                                                                 final PasswordPolicyContext queryAndEncodePasswordPolicyConfiguration,
                                                                 final DataSource dataSource) {
        val databasePasswordEncoder = new QueryAndEncodeDatabasePasswordEncoder(properties);
        val handler = new QueryAndEncodeDatabaseAuthenticationHandler(properties, servicesManager,
            jdbcPrincipalFactory, dataSource, databasePasswordEncoder);
        configureJdbcAuthenticationHandler(handler, queryAndEncodePasswordPolicyConfiguration, properties, applicationContext);
        return handler;
    }
New authentication handler.

@param properties                                the properties
@param applicationContext                        the application context
@param jdbcPrincipalFactory                      the jdbc principal factory
@param servicesManager                           the services manager
@param queryAndEncodePasswordPolicyConfiguration the query and encode password policy configuration
@param dataSource                                the data source
@return the authentication handler
support/cas-server-support-jdbc-authentication/src/main/java/org/apereo/cas/jdbc/JdbcAuthenticationUtils.java