use of org.apereo.cas.adaptors.jdbc.QueryAndEncodeDatabaseAuthenticationHandler in project cas by apereo.
the class CasJdbcAuthenticationConfiguration method queryAndEncodeDatabaseAuthenticationHandler.
private AuthenticationHandler queryAndEncodeDatabaseAuthenticationHandler(final QueryEncodeJdbcAuthenticationProperties b) {
final QueryAndEncodeDatabaseAuthenticationHandler h = new QueryAndEncodeDatabaseAuthenticationHandler(b.getName(), servicesManager, jdbcPrincipalFactory(), b.getOrder(), JpaBeans.newDataSource(b), b.getAlgorithmName(), b.getSql(), b.getPasswordFieldName(), b.getSaltFieldName(), b.getExpiredFieldName(), b.getDisabledFieldName(), b.getNumberOfIterationsFieldName(), b.getNumberOfIterations(), b.getStaticSalt());
h.setPasswordEncoder(PasswordEncoderUtils.newPasswordEncoder(b.getPasswordEncoder()));
h.setPrincipalNameTransformer(PrincipalNameTransformerUtils.newPrincipalNameTransformer(b.getPrincipalTransformation()));
if (queryAndEncodePasswordPolicyConfiguration != null) {
h.setPasswordPolicyConfiguration(queryAndEncodePasswordPolicyConfiguration);
}
h.setPrincipalNameTransformer(PrincipalNameTransformerUtils.newPrincipalNameTransformer(b.getPrincipalTransformation()));
if (StringUtils.isNotBlank(b.getCredentialCriteria())) {
h.setCredentialSelectionPredicate(CoreAuthenticationUtils.newCredentialSelectionPredicate(b.getCredentialCriteria()));
}
LOGGER.debug("Created authentication handler [{}] to handle database url at [{}]", h.getName(), b.getUrl());
return h;
}
use of org.apereo.cas.adaptors.jdbc.QueryAndEncodeDatabaseAuthenticationHandler in project cas by apereo.
the class CasJdbcAuthenticationConfiguration method jdbcAuthenticationHandlers.
@ConditionalOnMissingBean(name = "jdbcAuthenticationHandlers")
@Bean
@RefreshScope
public Collection<AuthenticationHandler> jdbcAuthenticationHandlers() {
final Collection<AuthenticationHandler> handlers = new HashSet<>();
final JdbcAuthenticationProperties jdbc = casProperties.getAuthn().getJdbc();
jdbc.getBind().forEach(b -> handlers.add(bindModeSearchDatabaseAuthenticationHandler(b)));
jdbc.getEncode().forEach(b -> handlers.add(queryAndEncodeDatabaseAuthenticationHandler(b)));
jdbc.getQuery().forEach(b -> handlers.add(queryDatabaseAuthenticationHandler(b)));
jdbc.getSearch().forEach(b -> handlers.add(searchModeSearchDatabaseAuthenticationHandler(b)));
return handlers;
}
use of org.apereo.cas.adaptors.jdbc.QueryAndEncodeDatabaseAuthenticationHandler in project cas by apereo.
the class CasJdbcAuthenticationConfiguration method queryAndEncodeDatabaseAuthenticationHandler.
private static AuthenticationHandler queryAndEncodeDatabaseAuthenticationHandler(final QueryEncodeJdbcAuthenticationProperties b, final PasswordPolicyContext config, final ConfigurableApplicationContext applicationContext, final PrincipalFactory jdbcPrincipalFactory, final ServicesManager servicesManager) {
val h = new QueryAndEncodeDatabaseAuthenticationHandler(b, servicesManager, jdbcPrincipalFactory, JpaBeans.newDataSource(b));
configureJdbcAuthenticationHandler(h, config, b, applicationContext);
return h;
}
use of org.apereo.cas.adaptors.jdbc.QueryAndEncodeDatabaseAuthenticationHandler in project cas by apereo.
the class CasJdbcAuthenticationConfiguration method queryAndEncodeDatabaseAuthenticationHandler.
private AuthenticationHandler queryAndEncodeDatabaseAuthenticationHandler(final JdbcAuthenticationProperties.Encode b) {
final QueryAndEncodeDatabaseAuthenticationHandler h = new QueryAndEncodeDatabaseAuthenticationHandler(b.getName(), servicesManager, jdbcPrincipalFactory(), b.getOrder(), Beans.newHickariDataSource(b), b.getAlgorithmName(), b.getSql(), b.getPasswordFieldName(), b.getSaltFieldName(), b.getExpiredFieldName(), b.getDisabledFieldName(), b.getNumberOfIterationsFieldName(), b.getNumberOfIterations(), b.getStaticSalt());
h.setPasswordEncoder(Beans.newPasswordEncoder(b.getPasswordEncoder()));
h.setPrincipalNameTransformer(Beans.newPrincipalNameTransformer(b.getPrincipalTransformation()));
if (queryAndEncodePasswordPolicyConfiguration != null) {
h.setPasswordPolicyConfiguration(queryAndEncodePasswordPolicyConfiguration);
}
h.setPrincipalNameTransformer(Beans.newPrincipalNameTransformer(b.getPrincipalTransformation()));
if (StringUtils.isNotBlank(b.getCredentialCriteria())) {
final Predicate<String> predicate = Pattern.compile(b.getCredentialCriteria()).asPredicate();
h.setCredentialSelectionPredicate(credential -> predicate.test(credential.getId()));
}
LOGGER.debug("Created authentication handler [{}] to handle database url at [{}]", h.getName(), b.getUrl());
return h;
}
Aggregations