if (result.isRelative()) { log.debug("LDAP returned a relative name: {}", result.getName());
private LdapIdentity getIdentity(DirContext dirContext, Collection<String> returningAttributes, Collection<String> binaryAttributes) throws RealmUnavailableException { log.debugf("Trying to create identity for principal [%s].", name); LdapSearch ldapSearch = createLdapSearchByDn(); if (ldapSearch == null) { // name is not a valid DN, search by name if (identityMapping.searchDn != null) { ldapSearch = new LdapSearch(identityMapping.searchDn, identityMapping.searchRecursive, 0, identityMapping.filterName, name); } else { log.debugf("Identity for principal [%s] not found. The name is not a valid DN and the search base DN is null", name); return null; } } ldapSearch.setReturningAttributes(returningAttributes); ldapSearch.setBinaryAttributes(binaryAttributes); final LdapSearch ldapSearchFinal = ldapSearch; try (Stream<SearchResult> resultsStream = ldapSearch.search(dirContext)) { SearchResult result = resultsStream.findFirst().orElse(null); if (result != null) { LdapIdentity identity = new LdapIdentity(name, ldapSearchFinal.getContext(), result.getNameInNamespace(), result.isRelative() ? null : result.getName(), result); log.debugf("Identity for principal [%s] found at [%s].", name, identity.getDistinguishedName()); return identity; } else { log.debugf("Identity for principal [%s] not found.", name); return null; } } }
/** * * @return * @throws LDAPException * @see org.mule.module.ldap.api.LDAPResultSet#next() */ @Override public LDAPEntry next() throws LDAPException { SearchResult searchResult = (SearchResult) this.entries.nextElement(); String entryDn; if (searchResult != null) { entryDn = searchResult.getName(); if (searchResult.isRelative()) { entryDn += "," + baseDn; } return LDAPJNDIUtils.buildEntry(entryDn, searchResult.getAttributes()); } else { throw new NoSuchElementException("End of result set"); } }
sb.append(ldapDN); if (res.isRelative()) { sb.append(","); sb.append(baseDN);
sb.append(ldapDN); if (res.isRelative()) { sb.append(","); sb.append(baseDN);
/** * @return * @throws LDAPException * @see org.mule.module.ldap.api.LDAPResultSet#next() */ @Override public LDAPEntry next() throws LDAPException { if(hasNext()) // Force navigating to next page { SearchResult searchResult = (SearchResult) this.entries.nextElement(); String entryDn; if (searchResult != null) { entryDn = searchResult.getName(); if (searchResult.isRelative()) { entryDn += "," + baseDn; } return LDAPJNDIUtils.buildEntry(entryDn, searchResult.getAttributes()); } } throw new NoSuchElementException("End of result set"); }
if (sr.isRelative()) { logger.trace("formatting relative dn '{}'", sr.getNameInNamespace()); fqName = new StringBuilder(readCompositeName(sr.getNameInNamespace()));
/** * Creates a new instance of StudioSearchResult. * * @param searchResult the original search result * @param connection the connection * @param isContinuedSearchResult if the search result is a result from a continued search * @param searchContinuationUrl the URL with information on how to continue the search */ public StudioSearchResult( SearchResult searchResult, Connection connection, boolean isContinuedSearchResult, LdapUrl searchContinuationUrl ) { super( searchResult.getName(), searchResult.getClassName(), searchResult.getObject(), searchResult .getAttributes(), searchResult.isRelative() ); super.setNameInNamespace( searchResult.getNameInNamespace() ); this.connection = connection; this.isContinuedSearchResult = isContinuedSearchResult; this.searchContinuationUrl = searchContinuationUrl; }
String name = sr.getName(); String userDN = null; if (sr.isRelative() == true) userDN = name + "," + baseDN; else
if (sr.isRelative()) userDN = name + ("".equals(baseDN) ? "" : "," + baseDN); else
if (sr.isRelative()) { logger.trace("formatting relative dn '{}'", sr.getNameInNamespace()); final LdapName lname = new LdapName(sr.getNameInNamespace());
public static Name getNameFromSearchResult(SearchResult iDirectoryEntry, Name iBaseDN) throws InvalidNameException, NamingException { String RDN = applyJNDIRDNBugWorkAround(iDirectoryEntry.getName()); Name JNDIRDN = getNameFromString(RDN); if (iDirectoryEntry.isRelative()) JNDIRDN.addAll(0, iBaseDN); else { JNDIRDN = (Name) iBaseDN.clone(); } return JNDIRDN; }
private void addReferrals( NamingEnumeration referrals, LdapDN base ) throws NamingException { while ( referrals.hasMore() ) { SearchResult r = ( SearchResult ) referrals.next(); LdapDN referral = null; LdapDN result = new LdapDN( r.getName() ); //result = LdapDN.normalize( result, registry.getNormalizerMapping() ); result.normalize( attrRegistry.getNormalizerMapping() ); if ( r.isRelative() ) { referral = ( LdapDN ) base.clone(); referral.addAll( result ); } else { referral = result; } // Now, add the referral to the cache lut.referralAdded( result ); } }
if (sr.isRelative()) { logger.trace("formatting relative dn '{}'", sr.getNameInNamespace()); final LdapName lname = new LdapName(sr.getNameInNamespace());
private void deleteReferrals( NamingEnumeration referrals, LdapDN base ) throws NamingException { while ( referrals.hasMore() ) { SearchResult r = ( SearchResult ) referrals.next(); LdapDN referral = null; LdapDN result = new LdapDN( r.getName() ); result.normalize( attrRegistry.getNormalizerMapping() ); if ( r.isRelative() ) { referral = ( LdapDN ) base.clone(); referral.addAll( result ); } else { referral = result; } // Now, remove the referral from the cache lut.referralDeleted( result ); } }
private LdapIdentity getIdentity(DirContext dirContext, Collection<String> returningAttributes, Collection<String> binaryAttributes) throws RealmUnavailableException { log.debugf("Trying to create identity for principal [%s].", name); LdapSearch ldapSearch = createLdapSearchByDn(); if (ldapSearch == null) { // name is not a valid DN, search by name if (identityMapping.searchDn != null) { ldapSearch = new LdapSearch(identityMapping.searchDn, identityMapping.searchRecursive, 0, identityMapping.filterName, name); } else { log.debugf("Identity for principal [%s] not found. The name is not a valid DN and the search base DN is null", name); return null; } } ldapSearch.setReturningAttributes(returningAttributes); ldapSearch.setBinaryAttributes(binaryAttributes); final LdapSearch ldapSearchFinal = ldapSearch; try (Stream<SearchResult> resultsStream = ldapSearch.search(dirContext)) { SearchResult result = resultsStream.findFirst().orElse(null); if (result != null) { LdapIdentity identity = new LdapIdentity(name, ldapSearchFinal.getContext(), result.getNameInNamespace(), result.isRelative() ? null : result.getName(), result); log.debugf("Identity for principal [%s] found at [%s].", name, identity.getDistinguishedName()); return identity; } else { log.debugf("Identity for principal [%s] not found.", name); return null; } } }
private LdapIdentity getIdentity(DirContext dirContext, Collection<String> returningAttributes, Collection<String> binaryAttributes) throws RealmUnavailableException { log.debugf("Trying to create identity for principal [%s].", name); LdapSearch ldapSearch = createLdapSearchByDn(); if (ldapSearch == null) { // name is not a valid DN, search by name if (identityMapping.searchDn != null) { ldapSearch = new LdapSearch(identityMapping.searchDn, identityMapping.searchRecursive, 0, identityMapping.filterName, name); } else { log.debugf("Identity for principal [%s] not found. The name is not a valid DN and the search base DN is null", name); return null; } } ldapSearch.setReturningAttributes(returningAttributes); ldapSearch.setBinaryAttributes(binaryAttributes); final LdapSearch ldapSearchFinal = ldapSearch; try (Stream<SearchResult> resultsStream = ldapSearch.search(dirContext)) { SearchResult result = resultsStream.findFirst().orElse(null); if (result != null) { LdapIdentity identity = new LdapIdentity(name, ldapSearchFinal.getContext(), result.getNameInNamespace(), result.isRelative() ? null : result.getName(), result); log.debugf("Identity for principal [%s] found at [%s].", name, identity.getDistinguishedName()); return identity; } else { log.debugf("Identity for principal [%s] not found.", name); return null; } } }
private LdapIdentity getIdentity(DirContext dirContext, Collection<String> returningAttributes, Collection<String> binaryAttributes) throws RealmUnavailableException { log.debugf("Trying to create identity for principal [%s].", name); LdapSearch ldapSearch = createLdapSearchByDn(); if (ldapSearch == null) { // name is not a valid DN, search by name if (identityMapping.searchDn != null) { ldapSearch = new LdapSearch(identityMapping.searchDn, identityMapping.searchRecursive, 0, identityMapping.filterName, name); } else { log.debugf("Identity for principal [%s] not found. The name is not a valid DN and the search base DN is null", name); return null; } } ldapSearch.setReturningAttributes(returningAttributes); ldapSearch.setBinaryAttributes(binaryAttributes); final LdapSearch ldapSearchFinal = ldapSearch; try (Stream<SearchResult> resultsStream = ldapSearch.search(dirContext)) { SearchResult result = resultsStream.findFirst().orElse(null); if (result != null) { LdapIdentity identity = new LdapIdentity(name, ldapSearchFinal.getContext(), result.getNameInNamespace(), result.isRelative() ? null : result.getName(), result); log.debugf("Identity for principal [%s] found at [%s].", name, identity.getDistinguishedName()); return identity; } else { log.debugf("Identity for principal [%s] not found.", name); return null; } } }
if (result.isRelative()) { if (containerLog.isTraceEnabled()) { containerLog.trace(" search returned relative name: " + resultName);