use of org.ldaptive.auth.Authenticator in project cas by apereo.
the class Beans method getAuthenticatedOrAnonSearchAuthenticator.
private static Authenticator getAuthenticatedOrAnonSearchAuthenticator(final AbstractLdapAuthenticationProperties l) {
if (StringUtils.isBlank(l.getBaseDn())) {
throw new IllegalArgumentException("Base dn cannot be empty/blank for authenticated/anonymous authentication");
}
if (StringUtils.isBlank(l.getUserFilter())) {
throw new IllegalArgumentException("User filter cannot be empty/blank for authenticated/anonymous authentication");
}
final PooledConnectionFactory connectionFactoryForSearch = Beans.newLdaptivePooledConnectionFactory(l);
final PooledSearchDnResolver resolver = new PooledSearchDnResolver();
resolver.setBaseDn(l.getBaseDn());
resolver.setSubtreeSearch(l.isSubtreeSearch());
resolver.setAllowMultipleDns(l.isAllowMultipleDns());
resolver.setConnectionFactory(connectionFactoryForSearch);
resolver.setUserFilter(l.getUserFilter());
final Authenticator auth;
if (StringUtils.isBlank(l.getPrincipalAttributePassword())) {
auth = new Authenticator(resolver, getPooledBindAuthenticationHandler(l, Beans.newLdaptivePooledConnectionFactory(l)));
} else {
auth = new Authenticator(resolver, getPooledCompareAuthenticationHandler(l, Beans.newLdaptivePooledConnectionFactory(l)));
}
if (l.isEnhanceWithEntryResolver()) {
auth.setEntryResolver(Beans.newLdaptiveSearchEntryResolver(l, Beans.newLdaptivePooledConnectionFactory(l)));
}
return auth;
}
use of org.ldaptive.auth.Authenticator in project cas by apereo.
the class LdapUtils method getDirectBindAuthenticator.
private static Authenticator getDirectBindAuthenticator(final AbstractLdapAuthenticationProperties l) {
if (StringUtils.isBlank(l.getDnFormat())) {
throw new IllegalArgumentException("Dn format cannot be empty/blank for direct bind authentication");
}
final FormatDnResolver resolver = new FormatDnResolver(l.getDnFormat());
final Authenticator authenticator = new Authenticator(resolver, getPooledBindAuthenticationHandler(l, newLdaptivePooledConnectionFactory(l)));
if (l.isEnhanceWithEntryResolver()) {
authenticator.setEntryResolver(newLdaptiveSearchEntryResolver(l, newLdaptivePooledConnectionFactory(l)));
}
return authenticator;
}
use of org.ldaptive.auth.Authenticator in project cas by apereo.
the class LdapUtils method getAuthenticatedOrAnonSearchAuthenticator.
/**
* Gets authenticated authenticator.
*
* @param l the lDAP properties
* @return the authenticated or anon search authenticator
*/
public static Authenticator getAuthenticatedOrAnonSearchAuthenticator(final AbstractLdapAuthenticationProperties l) {
if (StringUtils.isBlank(l.getBaseDn())) {
throw new IllegalArgumentException("Base dn cannot be empty/blank for authenticated/anonymous authentication");
}
if (StringUtils.isBlank(l.getSearchFilter())) {
throw new IllegalArgumentException("User filter cannot be empty/blank for authenticated/anonymous authentication");
}
val connectionFactoryForSearch = newLdaptiveConnectionFactory(l);
val resolver = buildAggregateDnResolver(l, connectionFactoryForSearch);
val auth = StringUtils.isBlank(l.getPrincipalAttributePassword()) ? new Authenticator(resolver, getBindAuthenticationHandler(newLdaptiveConnectionFactory(l))) : new Authenticator(resolver, getCompareAuthenticationHandler(l, newLdaptiveConnectionFactory(l)));
if (l.isEnhanceWithEntryResolver()) {
auth.setEntryResolver(newLdaptiveSearchEntryResolver(l, newLdaptiveConnectionFactory(l)));
}
return auth;
}
use of org.ldaptive.auth.Authenticator in project cas by apereo.
the class LdapUtils method getAuthenticatorViaDnFormat.
private static Authenticator getAuthenticatorViaDnFormat(final AbstractLdapAuthenticationProperties l) {
val resolver = new FormatDnResolver(l.getDnFormat());
val authenticator = new Authenticator(resolver, getBindAuthenticationHandler(newLdaptiveConnectionFactory(l)));
if (l.isEnhanceWithEntryResolver()) {
authenticator.setEntryResolver(newLdaptiveSearchEntryResolver(l, newLdaptiveConnectionFactory(l)));
}
return authenticator;
}
use of org.ldaptive.auth.Authenticator in project cas by apereo.
the class Beans method getActiveDirectoryAuthenticator.
private static Authenticator getActiveDirectoryAuthenticator(final AbstractLdapAuthenticationProperties l) {
if (StringUtils.isBlank(l.getDnFormat())) {
throw new IllegalArgumentException("Dn format cannot be empty/blank for active directory authentication");
}
final FormatDnResolver resolver = new FormatDnResolver(l.getDnFormat());
final Authenticator authn = new Authenticator(resolver, getPooledBindAuthenticationHandler(l, Beans.newLdaptivePooledConnectionFactory(l)));
if (l.isEnhanceWithEntryResolver()) {
authn.setEntryResolver(Beans.newLdaptiveSearchEntryResolver(l, Beans.newLdaptivePooledConnectionFactory(l)));
}
return authn;
}
Aggregations