private static Authenticator getDirectBindAuthenticator(final LdapAuthenticationProperties 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)); if (l.isEnhanceWithEntryResolver()) { authenticator.setEntryResolver(newSearchEntryResolver(l)); } return authenticator; }
private static Authenticator getActiveDirectoryAuthenticator(final LdapAuthenticationProperties 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)); if (l.isEnhanceWithEntryResolver()) { authn.setEntryResolver(newSearchEntryResolver(l)); } return authn; }
final AggregateDnResolver.EntryResolver entryResolver = new AggregateDnResolver.EntryResolver(); entryResolver.setEntryResolvers(entryResolvers); aggregateAuth.setEntryResolver(entryResolver);
private static Authenticator getAuthenticatedOrAnonSearchAuthenticator(final LdapAuthenticationProperties l) { final PooledSearchDnResolver resolver = new PooledSearchDnResolver(); resolver.setBaseDn(l.getBaseDn()); resolver.setSubtreeSearch(l.isSubtreeSearch()); resolver.setAllowMultipleDns(l.isAllowMultipleDns()); resolver.setConnectionFactory(newPooledConnectionFactory(l)); resolver.setUserFilter(l.getUserFilter()); final Authenticator auth; if (StringUtils.isBlank(l.getPrincipalAttributePassword())) { auth = new Authenticator(resolver, getPooledBindAuthenticationHandler(l)); } else { auth = new Authenticator(resolver, getPooledCompareAuthenticationHandler(l)); } if (l.isEnhanceWithEntryResolver()) { auth.setEntryResolver(newSearchEntryResolver(l)); } return auth; }