org.apache.directory.api.ldap.model.message.SearchRequestImpl Java Examples
The following examples show how to use
org.apache.directory.api.ldap.model.message.SearchRequestImpl.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ApiLdapCodecCoreOsgiTest.java From directory-ldap-api with Apache License 2.0 | 6 votes |
@Override protected void useBundleClasses() throws Exception { LdapStatesEnum.END_STATE.isEndState(); new InitBindRequest(); new InitBindResponse(); new InitAddRequest(); new InitAddResponse(); new InitSearchRequest(); new InitSearchResultDone(); new AndFilter(); new SubstringFilter(); new SearchRequestImpl(); }
Example #2
Source File: LdapNetworkConnection.java From directory-ldap-api with Apache License 2.0 | 6 votes |
/** * {@inheritDoc} */ @Override public SearchFuture searchAsync( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return searchAsync( searchRequest ); }
Example #3
Source File: ModelFactoryImpl.java From directory-ldap-api with Apache License 2.0 | 6 votes |
/** * {@inheritDoc} */ @Override public SearchRequest newSearchRequest( Dn baseDn, String filter, SearchScope scope, String... attributes ) { SearchRequest searchRequest = null; try { searchRequest = new SearchRequestImpl() .setBase( baseDn ) .setFilter( filter ) .setScope( scope == null ? SearchScope.OBJECT : scope ); if ( attributes != null && attributes.length > 0 ) { searchRequest.addAttributes( attributes ); } } catch ( LdapException e ) { throw new LdapRuntimeException( e ); } return searchRequest; }
Example #4
Source File: InitSearchRequest.java From directory-ldap-api with Apache License 2.0 | 6 votes |
/** * {@inheritDoc} */ public void action( LdapMessageContainer<SearchRequest> container ) { // Now, we can allocate the SearchRequest Object TLV tlv = container.getCurrentTLV(); SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setMessageId( container.getMessageId() ); container.setTlvId( tlv.getId() ); container.setMessage( searchRequest ); if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_05157_SEARCH_REQUEST ) ); } }
Example #5
Source File: LDAPConnectionService.java From guacamole-client with Apache License 2.0 | 6 votes |
/** * Generate a SearchRequest object using the given Base DN and filter * and retrieving other properties from the LDAP configuration service. * * @param baseDn * The LDAP Base DN at which to search the search. * * @param filter * A string representation of a LDAP filter to use for the search. * * @return * The properly-configured SearchRequest object. * * @throws GuacamoleException * If an error occurs retrieving any of the configuration values. */ public SearchRequest getSearchRequest(Dn baseDn, ExprNode filter) throws GuacamoleException { SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase(baseDn); searchRequest.setDerefAliases(confService.getDereferenceAliases()); searchRequest.setScope(SearchScope.SUBTREE); searchRequest.setFilter(filter); searchRequest.setSizeLimit(confService.getMaxResults()); searchRequest.setTimeLimit(confService.getOperationTimeout()); searchRequest.setTypesOnly(false); if (confService.getFollowReferrals()) searchRequest.followReferrals(); return searchRequest; }
Example #6
Source File: LdapDataProvider.java From directory-fortress-core with Apache License 2.0 | 6 votes |
/** * Perform normal ldap search specifying default batch size and max entries to return. * * @param connection is LdapConnection object used for all communication with host. * @param baseDn contains address of distinguished name to begin ldap search * @param scope indicates depth of search starting at basedn. 0 (base dn), * 1 (one level down) or 2 (infinite) are valid values. * @param filter contains the search criteria * @param attrs is the requested list of attritubutes to return from directory search. * @param attrsOnly if true pull back attribute names only. * @param maxEntries specifies the maximum number of entries to return in this search query. * @return result set containing ldap entries returned from directory. * @throws LdapException thrown in the event of error in ldap client or server code. */ protected SearchCursor search( LdapConnection connection, String baseDn, SearchScope scope, String filter, String[] attrs, boolean attrsOnly, int maxEntries ) throws LdapException { COUNTERS.incrementSearch(); SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.setSizeLimit( maxEntries ); searchRequest.setTypesOnly( attrsOnly ); searchRequest.addAttributes( attrs ); return connection.search( searchRequest ); }
Example #7
Source File: LdapDataProvider.java From directory-fortress-core with Apache License 2.0 | 6 votes |
/** * This method will search the directory and return at most one record. If more than one record is found * an ldap exception will be thrown. * * @param connection is LdapConnection object used for all communication with host. * @param baseDn contains address of distinguished name to begin ldap search * @param scope indicates depth of search starting at basedn. 0 (base dn), * 1 (one level down) or 2 (infinite) are valid values. * @param filter contains the search criteria * @param attrs is the requested list of attritubutes to return from directory search. * @param attrsOnly if true pull back attribute names only. * @return entry containing target ldap node. * @throws LdapException thrown in the event of error in ldap client or server code. * @throws CursorException If we weren't able to fetch an element from the search result */ protected Entry searchNode( LdapConnection connection, String baseDn, SearchScope scope, String filter, String[] attrs, boolean attrsOnly ) throws LdapException, CursorException { SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.setTypesOnly( attrsOnly ); searchRequest.addAttributes( attrs ); SearchCursor result = connection.search( searchRequest ); Entry entry = result.getEntry(); if ( result.next() ) { throw new LdapException( "searchNode failed to return unique record for LDAP search of base DN [" + baseDn + "] filter [" + filter + "]" ); } return entry; }
Example #8
Source File: LdapDataProvider.java From directory-fortress-core with Apache License 2.0 | 6 votes |
/** * This search method uses OpenLDAP Proxy Authorization Control to assert arbitrary user identity onto connection. * * @param connection is LdapConnection object used for all communication with host. * @param baseDn contains address of distinguished name to begin ldap search * @param scope indicates depth of search starting at basedn. 0 (base dn), * 1 (one level down) or 2 (infinite) are valid values. * @param filter contains the search criteria * @param attrs is the requested list of attritubutes to return from directory search. * @param attrsOnly if true pull back attribute names only. * @param userDn string value represents the identity of user on who's behalf the request was initiated. The * value will be stored in openldap auditsearch record AuthZID's attribute. * @return entry containing target ldap node. * @throws LdapException thrown in the event of error in ldap client or server code. * @throws CursorException If we weren't able to fetch an element from the search result */ protected Entry searchNode( LdapConnection connection, String baseDn, SearchScope scope, String filter, String[] attrs, boolean attrsOnly, String userDn ) throws LdapException, CursorException { COUNTERS.incrementSearch(); SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.setTypesOnly( attrsOnly ); searchRequest.addAttributes( attrs ); SearchCursor result = connection.search( searchRequest ); Entry entry = result.getEntry(); if ( result.next() ) { throw new LdapException( "searchNode failed to return unique record for LDAP search of base DN [" + baseDn + "] filter [" + filter + "]" ); } return entry; }
Example #9
Source File: LdapLoginManager.java From openmeetings with Apache License 2.0 | 6 votes |
private void fillGroups(Dn baseDn, String searchQ, List<Dn> groups) throws IOException, LdapException, CursorException { try (EntryCursor cursor = new EntryCursorImpl(conn.search( new SearchRequestImpl() .setBase(baseDn) .setFilter(searchQ) .setScope(SearchScope.SUBTREE) .addAttributes("*") .setDerefAliases(AliasDerefMode.DEREF_ALWAYS)))) { while (cursor.next()) { try { Entry e = cursor.get(); groups.add(e.getDn()); } catch (CursorLdapReferralException cle) { log.warn(WARN_REFERRAL); } } } }
Example #10
Source File: LDAPConnectionService.java From guacamole-client with Apache License 2.0 | 6 votes |
/** * Generate a SearchRequest object using the given Base DN and filter * and retrieving other properties from the LDAP configuration service. * * @param baseDn * The LDAP Base DN at which to search the search. * * @param filter * A string representation of a LDAP filter to use for the search. * * @return * The properly-configured SearchRequest object. * * @throws GuacamoleException * If an error occurs retrieving any of the configuration values. */ public SearchRequest getSearchRequest(Dn baseDn, ExprNode filter) throws GuacamoleException { SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase(baseDn); searchRequest.setDerefAliases(confService.getDereferenceAliases()); searchRequest.setScope(SearchScope.SUBTREE); searchRequest.setFilter(filter); searchRequest.setSizeLimit(confService.getMaxResults()); searchRequest.setTimeLimit(confService.getOperationTimeout()); searchRequest.setTypesOnly(false); if (confService.getFollowReferrals()) searchRequest.followReferrals(); return searchRequest; }
Example #11
Source File: LdapNetworkConnection.java From directory-ldap-api with Apache License 2.0 | 5 votes |
/** * {@inheritDoc} */ @Override public EntryCursor search( Dn baseDn, String filter, SearchScope scope, String... attributes ) throws LdapException { if ( baseDn == null ) { if ( LOG.isDebugEnabled() ) { LOG.debug( I18n.msg( I18n.MSG_04138_NULL_DN_SEARCH ) ); } throw new IllegalArgumentException( I18n.err( I18n.ERR_04129_NULL_BASE_DN ) ); } // Create a new SearchRequest object SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( baseDn ); searchRequest.setFilter( filter ); searchRequest.setScope( scope ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); // Process the request in blocking mode return new EntryCursorImpl( search( searchRequest ) ); }
Example #12
Source File: LdapDataProvider.java From directory-fortress-core with Apache License 2.0 | 5 votes |
/** * Perform normal ldap search accepting default batch size. * * @param connection is LdapConnection object used for all communication with host. * @param baseDn contains address of distinguished name to begin ldap search * @param scope indicates depth of search starting at basedn. 0 (base dn), * 1 (one level down) or 2 (infinite) are valid values. * @param filter contains the search criteria * @param attrs is the requested list of attritubutes to return from directory search. * @param attrsOnly if true pull back attribute names only. * @return result set containing ldap entries returned from directory. * @throws LdapException thrown in the event of error in ldap client or server code. */ protected SearchCursor search( LdapConnection connection, String baseDn, SearchScope scope, String filter, String[] attrs, boolean attrsOnly ) throws LdapException { COUNTERS.incrementSearch(); SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( new Dn( baseDn ) ); searchRequest.setScope( scope ); searchRequest.setFilter( filter ); searchRequest.setTypesOnly( attrsOnly ); searchRequest.addAttributes( attrs ); return connection.search( searchRequest ); }
Example #13
Source File: LdapLoginManager.java From openmeetings with Apache License 2.0 | 5 votes |
private static Map.Entry<Dn, Entry> searchAndBind(LdapWorker w, String login, String passwd) throws LdapException, CursorException, OmException, IOException { Dn userDn = null; Entry entry = null; bindAdmin(w.conn, w.options); Dn baseDn = new Dn(w.options.searchBase); String searchQ = String.format(w.options.searchQuery, login); try (EntryCursor cursor = new EntryCursorImpl(w.conn.search( new SearchRequestImpl() .setBase(baseDn) .setFilter(searchQ) .setScope(w.options.scope) .addAttributes("*") .setDerefAliases(w.options.derefMode)))) { while (cursor.next()) { try { Entry e = cursor.get(); if (userDn != null) { log.error("more than 1 user found in LDAP"); throw UNKNOWN; } userDn = e.getDn(); if (w.options.useAdminForAttrs) { entry = e; } } catch (CursorLdapReferralException cle) { log.warn(WARN_REFERRAL); } } } if (userDn == null) { log.error("NONE users found in LDAP"); throw BAD_CREDENTIALS; } w.conn.bind(userDn, passwd); return new AbstractMap.SimpleEntry<>(userDn, entry); }
Example #14
Source File: LdapNetworkConnection.java From directory-ldap-api with Apache License 2.0 | 4 votes |
/** * {@inheritDoc} */ @Override public Entry lookup( Dn dn, Control[] controls, String... attributes ) throws LdapException { Entry entry = null; try { SearchRequest searchRequest = new SearchRequestImpl(); searchRequest.setBase( dn ); searchRequest.setFilter( LdapConstants.OBJECT_CLASS_STAR ); searchRequest.setScope( SearchScope.OBJECT ); searchRequest.addAttributes( attributes ); searchRequest.setDerefAliases( AliasDerefMode.DEREF_ALWAYS ); if ( ( controls != null ) && ( controls.length > 0 ) ) { searchRequest.addAllControls( controls ); } try ( Cursor<Response> cursor = search( searchRequest ) ) { // Read the response if ( cursor.next() ) { // cursor will always hold SearchResultEntry objects cause there is no ManageDsaITControl passed with search request entry = ( ( SearchResultEntry ) cursor.get() ).getEntry(); } // Pass through the SaerchResultDone, or stop // if we have other responses cursor.next(); } } catch ( CursorException e ) { throw new LdapException( e.getMessage(), e ); } catch ( IOException ioe ) { throw new LdapException( ioe.getMessage(), ioe ); } return entry; }
Example #15
Source File: SearchRequestDsml.java From directory-ldap-api with Apache License 2.0 | 2 votes |
/** * Creates a new getDecoratedMessage() of SearchRequestDsml. * * @param codec The LDAP Service to use */ public SearchRequestDsml( LdapApiService codec ) { super( codec, new SearchRequestImpl() ); }