/** * Returns a search request initialized with the supplied request. Note that stateful ldap entry handlers could cause * thread safety issues. * * @param request search request to read properties from * * @return search request */ protected static SearchRequest newSearchRequest(final SearchRequest request) { final SearchRequest sr = new SearchRequest(); sr.setBaseDn(request.getBaseDn()); sr.setBinaryAttributes(request.getBinaryAttributes()); sr.setDerefAliases(request.getDerefAliases()); sr.setSearchEntryHandlers(request.getSearchEntryHandlers()); sr.setSearchReferenceHandlers(request.getSearchReferenceHandlers()); sr.setReturnAttributes(request.getReturnAttributes()); sr.setSearchFilter(request.getSearchFilter()); sr.setSearchScope(request.getSearchScope()); sr.setSizeLimit(request.getSizeLimit()); sr.setSortBehavior(request.getSortBehavior()); sr.setTimeLimit(request.getTimeLimit()); sr.setTypesOnly(request.getTypesOnly()); sr.setControls(request.getControls()); sr.setReferralHandler(request.getReferralHandler()); sr.setIntermediateResponseHandlers(request.getIntermediateResponseHandlers()); return sr; }
/** * Creates a new search request. * * @param dn to search * @param filter search filter */ public SearchRequest(final String dn, final SearchFilter filter) { setBaseDn(dn); setSearchFilter(filter); }
/** * Creates a new search request. * * @param dn to search * @param filter search filter * @param attrs to return */ public SearchRequest(final String dn, final SearchFilter filter, final String... attrs) { setBaseDn(dn); setSearchFilter(filter); setReturnAttributes(attrs); }
/** * Returns a search request initialized for use with an object level search scope. * * @param dn of an ldap entry * @param attrs to return * @param filter to execute on the ldap entry * * @return search request */ public static SearchRequest newObjectScopeSearchRequest( final String dn, final String[] attrs, final SearchFilter filter) { final SearchRequest request = new SearchRequest(); request.setBaseDn(dn); request.setSearchFilter(filter); request.setReturnAttributes(attrs); request.setSearchScope(SearchScope.OBJECT); return request; }
/** * Returns a search request for searching for a single entry in an LDAP, returning no attributes. * * @param filter to execute * * @return search request */ protected SearchRequest createSearchRequest(final SearchFilter filter) { final SearchRequest request = new SearchRequest(); request.setBaseDn(baseDn); request.setSearchFilter(filter); request.setReturnAttributes(ReturnAttributes.NONE.value()); if (subtreeSearch) { request.setSearchScope(SearchScope.SUBTREE); } else { request.setSearchScope(SearchScope.ONELEVEL); } request.setDerefAliases(derefAliases); request.setReferralHandler(referralHandler); return request; }
/** * Returns a search request for the supplied authentication criteria. If no {@link #userFilter} is defined then an * object level search on the authentication criteria DN is returned. Otherwise the {@link #userFilter}, {@link * #baseDn} and {@link #subtreeSearch} are used to create the search request. * * @param ac authentication criteria containing a DN * * @return search request */ protected SearchRequest createSearchRequest(final AuthenticationCriteria ac) { SearchRequest request; if (userFilter != null) { request = new SearchRequest(baseDn, createSearchFilter(ac)); request.setReturnAttributes(ac.getAuthenticationRequest().getReturnAttributes()); if (subtreeSearch) { request.setSearchScope(SearchScope.SUBTREE); } else { request.setSearchScope(SearchScope.ONELEVEL); } } else { request = SearchRequest.newObjectScopeSearchRequest( ac.getDn(), ac.getAuthenticationRequest().getReturnAttributes()); } request.setDerefAliases(derefAliases); request.setReferralHandler(referralHandler); request.setSearchEntryHandlers(entryHandlers); return request; }
final SearchRequest sr = newSearchRequest(this); if (filter != null) { sr.setSearchFilter(filter); sr.setReturnAttributes(attrs); sr.setSearchEntryHandlers(handlers);
primaryGroupId.getStringValue()); final SearchRequest sr = new SearchRequest(); sr.setBaseDn(baseDn != null ? baseDn : request.getBaseDn()); sr.setReturnAttributes(ReturnAttributes.NONE.value()); sr.setSearchFilter(new SearchFilter(groupFilter, new Object[] {groupSid}));
conn.open(); if (configuration.getValidationBaseDn() != null) { // we have a validation rule, use it final SearchRequest request = new SearchRequest(); request.setSizeLimit(1); request.setTimeLimit(30000); request.setBaseDn(configuration.getValidationBaseDn()); request.setSearchFilter(new SearchFilter(configuration.getValidationFilter())); final Response<SearchResult> execute = new SearchOperation(conn).execute(request); if (execute.getResultCode() != ResultCode.SUCCESS) {
/** * Builds a new request. * * @param baseDn the base dn * @param filter the filter * @return the search request */ public static SearchRequest createSearchRequest(final String baseDn, final SearchFilter filter) { final SearchRequest sr = new SearchRequest(baseDn, filter); sr.setBinaryAttributes(ReturnAttributes.ALL_USER.value()); sr.setReturnAttributes(ReturnAttributes.ALL_USER.value()); sr.setSearchScope(SearchScope.SUBTREE); return sr; }
@Override public SearchRequest createSearchRequest(final Map<String, ?> jaasOptions) { final SearchRequest sr = new SearchRequest(); final SearchRequestPropertySource source = new SearchRequestPropertySource( sr, PropertyDomain.AUTH, createProperties(jaasOptions)); source.initialize(); logger.trace("Created search request {} from {}", sr, jaasOptions); return sr; }
if (sr.getReturnAttributes() != null) { apacheSr.addAttributes(sr.getReturnAttributes()); apacheSr.setBase(new Dn(sr.getBaseDn())); final AliasDerefMode deref = getAliasDerefMode(sr.getDerefAliases()); apacheSr.setDerefAliases(AliasDerefMode.NEVER_DEREF_ALIASES); if (sr.getSearchFilter() != null) { apacheSr.setFilter(sr.getSearchFilter().format()); final SearchScope searchScope = getSearchScope(sr.getSearchScope()); if (searchScope != null) { apacheSr.setScope(searchScope); apacheSr.setSizeLimit(sr.getSizeLimit()); apacheSr.setTimeLimit((int) sr.getTimeLimit().getSeconds()); apacheSr.setTypesOnly(sr.getTypesOnly()); return apacheSr;
final SearchRequest request = new SearchRequest(ldapSource.getBaseDn(), searchFilter); request.setSearchScope(ldapSource.isSubtreeSearch() ? SearchScope.SUBTREE : SearchScope.ONELEVEL); request.setSizeLimit(20); handler.info("prepare", "Result size set to '" + request.getSizeLimit() + "'");
ofNullable(parameters).ifPresent(p -> p.forEach(searchFilter::setParameter)); final SearchRequest request = new SearchRequest(lookup.baseDn, searchFilter, attributes); request.setSearchScope(lookup.subtreeSearch ? SearchScope.SUBTREE : SearchScope.ONELEVEL); request.setSizeLimit(2); // should be 1
final SearchRequest request = new SearchRequest(ldapQuery.getBaseDn(), searchFilter); request.setSearchScope(ldapQuery.isSubtreeSearch() ? SearchScope.SUBTREE : SearchScope.ONELEVEL);
/** * Returns a search controls object configured with the supplied search request. * * @param sr search request containing configuration to create search controls * * @return search controls */ protected SearchControls getSearchControls(final SearchRequest sr) { final SearchControls ctls = new SearchControls(); if (ReturnAttributes.DEFAULT.equalsAttributes(sr.getReturnAttributes())) { ctls.setReturningAttributes(null); } else { ctls.setReturningAttributes(sr.getReturnAttributes()); } final int searchScope = getSearchScope(sr.getSearchScope()); if (searchScope != -1) { ctls.setSearchScope(searchScope); } ctls.setTimeLimit(Long.valueOf(sr.getTimeLimit()).intValue()); ctls.setCountLimit(sr.getSizeLimit()); ctls.setDerefLinkFlag(false); // note that if returning obj flag is set to true, object contexts on the // SearchResult must the explicitly closed: // ctx = (Context) SearchResult#getObject(); ctx.close(); ctls.setReturningObjFlag(false); return ctls; }
/** * Executes {@link LdapContext#search( javax.naming.Name, String, Object[], SearchControls)}. * * @param ctx to search * @param sr to read properties from * * @return naming enumeration of search results * * @throws NamingException if an error occurs */ protected NamingEnumeration<SearchResult> search(final LdapContext ctx, final SearchRequest sr) throws NamingException { return ctx.search( sr.getBaseDn(), sr.getSearchFilter() != null ? request.getSearchFilter().format() : null, getSearchControls(sr)); }
searchRequest.setReturnAttributes(roleAttribute); logger.debug("Retrieved search request from factory: {}", searchRequest);
filter.setParameter("dn", loginDn); filter.setParameter("user", loginName); searchRequest.setSearchFilter(filter);
/** * Determines the DN of the supplied search request. Returns {@link LdapContext#getNameInNamespace()} if it is * available, otherwise returns {@link SearchRequest#getBaseDn()}. * * @param ctx ldap context the search was performed on * @param sr search request * * @return DN * * @throws NamingException if an error occurs */ protected String getSearchDn(final LdapContext ctx, final SearchRequest sr) throws NamingException { if (ctx != null && !"".equals(ctx.getNameInNamespace())) { return ctx.getNameInNamespace(); } else { return sr.getBaseDn(); } }