/** * Searches for the supplied dn and returns its ldap entry. * * @param factory to obtain an LDAP connection from * @param dn to search for * @param filter search filter * @param retAttrs attributes to return * * @return ldap entry * * @throws LdapException if the search fails */ protected static LdapEntry getLdapEntry( final ConnectionFactory factory, final String dn, final String filter, final String[] retAttrs) throws LdapException { final SearchExecutor executor = new SearchExecutor(); executor.setBaseDn(dn); executor.setSearchScope(SearchScope.OBJECT); executor.setReturnAttributes(retAttrs); final SearchResult result = executor.search(factory, filter).getResult(); return result.getEntry(); } }
/** * New search executor search executor. * * @param baseDn the base dn * @param filterQuery the filter query * @param params the params * @return the search executor */ public static SearchExecutor newSearchExecutor(final String baseDn, final String filterQuery, final String... params) { final SearchExecutor executor = new SearchExecutor(); executor.setBaseDn(baseDn); executor.setSearchFilter(newSearchFilter(filterQuery, params)); executor.setReturnAttributes(ReturnAttributes.ALL.value()); executor.setSearchScope(SearchScope.SUBTREE); return executor; } }
@Bean("userSearchExecutor") public SearchExecutor userSearchExecutor() { SearchExecutor searchExecutor = new SearchExecutor(); searchExecutor.setBaseDn(configuration.getContextSourceBase()); String userSearchBase = configuration.getUserSearchBase(); if (userSearchBase != null && !userSearchBase.isEmpty()) { searchExecutor.setBaseDn(userSearchBase + LDAP_SEPARATOR + searchExecutor.getBaseDn()); } searchExecutor.setSearchFilter(new SearchFilter(configuration.getUserSearchFilter())); return searchExecutor; }
/** * Performs a search operation with the supplied connection factory. * * @param factory to get a connection from * * @return search result * * @throws LdapException if the search fails */ public Response<SearchResult> search(final ConnectionFactory factory) throws LdapException { return search(factory, null, null, (SearchEntryHandler[]) null); }
try { userSearchExecutor.getSearchFilter().setParameter(0, username); SearchResult userSearchResult = userSearchExecutor.search(connectionFactory).getResult(); LdapEntry userEntry = userSearchResult.getEntry(); if (userEntry != null) { groupSearchExecutor.getSearchFilter().setParameter(0, userEntry.getDn()); SearchResult searchResult = groupSearchExecutor.search(connectionFactory).getResult(); Collection<LdapEntry> groupEntries = searchResult.getEntries(); String[] groups = groupEntries.stream()
@Override public void initialize(final ServletConfig config) { searchExecutor = new SearchExecutor(); final SearchRequestPropertySource srSource = new SearchRequestPropertySource( searchExecutor, createProperties(config)); srSource.initialize(); logger.debug("searchExecutor = {}", searchExecutor); connectionFactory = new PooledConnectionFactory(); final PooledConnectionFactoryPropertySource cfPropSource = new PooledConnectionFactoryPropertySource( connectionFactory, createProperties(config)); cfPropSource.setPoolType(ConnectionPoolType.valueOf(config.getInitParameter(POOL_TYPE))); cfPropSource.initialize(); logger.debug("connectionFactory = {}", connectionFactory); }
final SearchRequest sr = newSearchRequest(this); if (filter != null) { sr.setSearchFilter(filter);
/** * Constructs a new search filter using {@link SearchExecutor#searchFilter} as a template and * the username as a parameter. * * @param executor the executor * @param username the username * @return Search filter with parameters applied. */ private SearchFilter createSearchFilter(final SearchExecutor executor, final String username) { final SearchFilter filter = new SearchFilter(); filter.setFilter(executor.getSearchFilter().getFilter()); filter.setParameter(0, username); logger.debug("Constructed LDAP search filter [{}]", filter.format()); return filter; } }
/** * Performs a search operation with the supplied connection factory. * * @param factory to get a connection from * * @return search result * * @throws LdapException if the search fails */ public Response<SearchResult> search(final ConnectionFactory factory) throws LdapException { return search(factory, null, null, (SearchEntryHandler[]) null); }
groupSearchExecutor.getSearchFilter().setParameter(0, userEntry.getDn()); SearchResult searchResult = groupSearchExecutor.search(connectionFactory).getResult(); Collection<LdapEntry> groupEntries = searchResult.getEntries(); String[] groups = groupEntries.stream()
@Override public void initialize(final ServletConfig config) { searchExecutor = new SearchExecutor(); final SearchRequestPropertySource srSource = new SearchRequestPropertySource( searchExecutor, createProperties(config)); srSource.initialize(); logger.debug("searchExecutor = {}", searchExecutor); connectionFactory = new PooledConnectionFactory(); final PooledConnectionFactoryPropertySource cfPropSource = new PooledConnectionFactoryPropertySource( connectionFactory, createProperties(config)); cfPropSource.setPoolType(ConnectionPoolType.valueOf(config.getInitParameter(POOL_TYPE))); cfPropSource.initialize(); logger.debug("connectionFactory = {}", connectionFactory); }
final SearchRequest sr = newSearchRequest(this); if (filter != null) { sr.setSearchFilter(filter);
/** * Searches for the supplied dn and returns its ldap entry. * * @param factory to obtain an LDAP connection from * @param dn to search for * @param filter search filter * @param retAttrs attributes to return * * @return ldap entry * * @throws LdapException if the search fails */ protected static LdapEntry getLdapEntry( final ConnectionFactory factory, final String dn, final String filter, final String[] retAttrs) throws LdapException { final SearchExecutor executor = new SearchExecutor(); executor.setBaseDn(dn); executor.setSearchScope(SearchScope.OBJECT); executor.setReturnAttributes(retAttrs); final SearchResult result = executor.search(factory, filter).getResult(); return result.getEntry(); } }
/** * Performs a search operation with the supplied connection factory. * * @param factory to get a connection from * * @return search result * * @throws LdapException if the search fails */ public Response<SearchResult> search(final ConnectionFactory factory) throws LdapException { return search(factory, null, null, (SearchEntryHandler[]) null); }
@Bean("groupSearchExecutor") public SearchExecutor groupSearchExecutor() { SearchExecutor searchExecutor = new SearchExecutor(); searchExecutor.setBaseDn(configuration.getContextSourceBase()); String groupSearchBase = configuration.getGroupSearchBase(); if (groupSearchBase != null && !groupSearchBase.isEmpty()) { searchExecutor.setBaseDn(groupSearchBase + LDAP_SEPARATOR + searchExecutor.getBaseDn()); } searchExecutor.setSearchFilter(new SearchFilter(configuration.getGroupSearchFilter())); searchExecutor.setReturnAttributes(new String[] { configuration.getGroupRoleAttribute() }); searchExecutor.setSearchScope(SearchScope.SUBTREE); return searchExecutor; }
@Override public void initialize(final ServletConfig config) { searchExecutor = new SearchExecutor(); final SearchRequestPropertySource srSource = new SearchRequestPropertySource( searchExecutor, createProperties(config)); srSource.initialize(); logger.debug("searchExecutor = {}", searchExecutor); connectionFactory = new PooledConnectionFactory(); final PooledConnectionFactoryPropertySource cfPropSource = new PooledConnectionFactoryPropertySource( connectionFactory, createProperties(config)); cfPropSource.setPoolType(ConnectionPoolType.valueOf(config.getInitParameter(POOL_TYPE))); cfPropSource.initialize(); logger.debug("connectionFactory = {}", connectionFactory); }
final SearchRequest sr = newSearchRequest(this); if (filter != null) { sr.setSearchFilter(filter);
/** * Searches for the supplied dn and returns its ldap entry. * * @param factory to obtain an LDAP connection from * @param dn to search for * @param filter search filter * @param retAttrs attributes to return * * @return ldap entry * * @throws LdapException if the search fails */ protected static LdapEntry getLdapEntry( final ConnectionFactory factory, final String dn, final String filter, final String[] retAttrs) throws LdapException { final SearchExecutor executor = new SearchExecutor(); executor.setBaseDn(dn); executor.setSearchScope(SearchScope.OBJECT); executor.setReturnAttributes(retAttrs); final SearchResult result = executor.search(factory, filter).getResult(); return result.getEntry(); } }
/** * Performs a search operation with the supplied connection factory. * * @param factory to get a connection from * @param filter to search with * * @return search result * * @throws LdapException if the search fails */ public Response<SearchResult> search(final ConnectionFactory factory, final SearchFilter filter) throws LdapException { return search(factory, filter, null, (SearchEntryHandler[]) null); }
/** * Performs a search operation with the supplied connection factory. * * @param factory to get a connection from * @param filter to search with * * @return search result * * @throws LdapException if the search fails */ public Response<SearchResult> search(final ConnectionFactory factory, final SearchFilter filter) throws LdapException { return search(factory, filter, null, (SearchEntryHandler[]) null); }