@Override public String getDn() { return elem.getDN(); } }
@Override public String getDn() { return elem.getDN(); } }
List<SearchResultEntry> searchEntries = searchResult.getSearchEntries(); if (searchEntries.size() != 1) { // The search didn't match exactly one entry. } else { SearchResultEntry entry = searchEntries.get(0); result = entry.getDN(); }
buffer.append(getDN()); buffer.append('\'');
buffer.append(getDN()); buffer.append('\'');
/** * {@inheritDoc} */ public void searchEntryReturned(final SearchResultEntry searchEntry) { entryCounter.incrementAndGet(); // Make sure we haven't already seen this entry. We shouldn't get the same // entry multiple times in the course of processing a search, but if we got // a failure while processing the search, we might re-try it and get some of // the same entries back. DN parsedDN = null; try { parsedDN = searchEntry.getParsedDN(); if (dnsProcessed.containsKey(parsedDN)) { return; } } catch (final Exception e) { Debug.debugException(e); } manageAccountProcessor.process(searchEntry.getDN()); if (parsedDN != null) { dnsProcessed.put(parsedDN, parsedDN); } }
@Override public String getAccountDN(String subject) throws LdapSystemException { try (LDAPConnection conn = ldapPool.getConnection()) { String baseDn = config.getLdapUserBaseDN(); SearchResultEntry entry = conn.searchForEntry(baseDn, ONE, "(employeeNumber=" + subject + ")", "uid"); return entry != null ? entry.getDN() : null; } catch (LDAPException e) { throw new LdapSystemException(e); } }
/** * {@inheritDoc} */ @Override() public void formatSearchResultEntry(final SearchResultEntry entry) { columnValues[0] = entry.getDN(); int i=1; for (final String attribute : attributes) { final String value = entry.getAttributeValue(attribute); if (value == null) { columnValues[i] = ""; } else { columnValues[i] = value; } i++; } ldapSearch.writeOut(formatter.formatRow(columnValues)); }
if (e == null) err("Entry '", searchEntry.getDN(), "' includes attribute ", a.getName(), " that references entry '", value, "' which does not exist."); err("An error occurred while attempting to determine whether " + "entry '" + value + "' referenced in attribute " + a.getName() + " of entry '" + searchEntry.getDN() + "' exists: " + StaticUtils.getExceptionMessage(le)); missingReferenceCounts.get(attr).incrementAndGet();
String dn = searchResultEntry.getDN(); DefaultLDAPUserContext ldapUserContext = internalCreateUser(dn); ldapUserContext.getKnownAttributes().put("cn", searchResultEntry.getAttributeValue("cn"));
private void setAccountRoles(LDAPConnection ldapConnection, SearchResultEntry accountSearchResult, Account account) { String accountDN = accountSearchResult.getDN(); String groupMemberPattern = this.groupMemberPattern.replace("${dn}", escapeLDAPSearchFilter(accountDN)); groupMemberPattern = groupMemberPattern.replace("${username}", escapeLDAPSearchFilter(account.getUsername())); // Fill in attributes into groupMemberPattern for (Attribute attribute : accountSearchResult.getAttributes()) { groupMemberPattern = groupMemberPattern.replace("${" + attribute.getName() + "}", escapeLDAPSearchFilter(attribute.getValue())); } SearchResult groupsSearchResult = doSearch(ldapConnection, groupBase, true, groupMemberPattern, Arrays.asList("cn")); if (groupsSearchResult != null && groupsSearchResult.getEntryCount() > 0) { for (int i = 0; i < groupsSearchResult.getEntryCount(); i++) { SearchResultEntry groupEntry = groupsSearchResult.getSearchEntries().get(i); String roleName = groupEntry.getAttribute("cn").getValue(); account.getAuthorizations().addRole(roleName); } } }
private void setAccountRoles(LDAPConnection ldapConnection, SearchResultEntry accountSearchResult, Account account) { String accountDN = accountSearchResult.getDN(); String groupMemberPattern = this.groupMemberPattern.replace("${dn}", escapeLDAPSearchFilter(accountDN)); groupMemberPattern = groupMemberPattern.replace("${username}", escapeLDAPSearchFilter(account.getUsername())); // Fill in attributes into groupMemberPattern for (Attribute attribute : accountSearchResult.getAttributes()) { groupMemberPattern = groupMemberPattern.replace("${" + attribute.getName() + "}", escapeLDAPSearchFilter(attribute.getValue())); } SearchResult groupsSearchResult = doSearch(ldapConnection, groupBase, true, groupMemberPattern, Arrays.asList("cn")); if (groupsSearchResult != null && groupsSearchResult.getEntryCount() > 0) { for (int i = 0; i < groupsSearchResult.getEntryCount(); i++) { SearchResultEntry groupEntry = groupsSearchResult.getSearchEntries().get(i); String roleName = groupEntry.getAttribute("cn").getValue(); account.getAuthorizations().addRole(roleName); } } }
@Override public Map<String, LdapGroup> getAccountGroups(String accountDN) throws LdapSystemException { Map<String, LdapGroup> result = new HashMap<>(); try (LDAPConnection conn = ldapPool.getConnection()) { String baseDN = config.getLdapGroupsBaseDN(); log.info("Group base DN: " + baseDN); Filter filter = Filter.createANDFilter( Filter.createEqualityFilter("objectClass", config.getLdapGroupsObjectClass()), Filter.createEqualityFilter(config.getLdapGroupsMemberAttr(), accountDN)); SearchResult searchResult = conn.search(baseDN, SUB, filter, GROUP_NAME_ATTR, config.getLdapGroupsMemberAttr(), GROUP_DESC_ATTR); for (SearchResultEntry entry : searchResult.getSearchEntries()) { String dn = entry.getDN(); String name = entry.getAttributeValue(GROUP_NAME_ATTR); String description = entry.getAttributeValue(GROUP_DESC_ATTR); Set<String> members = new HashSet<>(Arrays.asList(entry.getAttributeValues(config.getLdapGroupsMemberAttr()))); result.put(dn, new LdapGroup(name, dn, description, members)); } } catch (LDAPException e) { throw new LdapSystemException(e); } return result; }
/** * Read group from LDAP. If there is no group it returns NULL. * * @param groupName name of gruop * @param conn ldap connection * @return LDAP group or null if there is no group * @throws LDAPException */ protected LdapGroup getGroup(String groupName, LDAPConnection conn) throws LdapSystemException { try { LdapGroup result = null; String baseDN = config.getLdapGroupsBaseDN(); Filter groupFilter = Filter.createEqualityFilter(GROUP_NAME_ATTR, groupName); SearchResultEntry entry = conn.searchForEntry(baseDN, ONE, groupFilter, GROUP_NAME_ATTR, config.getLdapGroupsMemberAttr(), GROUP_DESC_ATTR); if (entry != null) { String dn = entry.getDN(); String name = entry.getAttributeValue(GROUP_NAME_ATTR); String description = entry.getAttributeValue(GROUP_DESC_ATTR); Set<String> members = new HashSet<>(Arrays.asList(entry.getAttributeValues(config.getLdapGroupsMemberAttr()))); result = new LdapGroup(name, dn, description, members); } return result; } catch (LDAPException e) { throw new LdapSystemException(e); } }
if (result != null && result.getEntryCount() == 1) { SearchResultEntry accountSearchResult = result.getSearchEntries().get(0); String accountDN = accountSearchResult.getDN();
if (result != null && result.getEntryCount() == 1) { SearchResultEntry accountSearchResult = result.getSearchEntries().get(0); String accountDN = accountSearchResult.getDN();
MoveSubtree.append( ERR_MOVE_SUBTREE_ACC_LISTENER_CANNOT_PARSE_DN.get( searchEntry.getDN(), StaticUtils.getExceptionMessage(le)), errorMessage); return; if (! DN.equals(entry.getDN(), searchEntry.getDN())) entry.getDN(), searchEntry.getDN()), errorMessage); return; MoveSubtree.append( ERR_MOVE_SUBTREE_ACC_LISTENER_PRE_ADD_FAILURE.get( searchEntry.getDN(), StaticUtils.getExceptionMessage(e)), errorMessage); return; MoveSubtree.append( ERR_MOVE_SUBTREE_ACC_LISTENER_ADD_FAILURE.get( searchEntry.getDN(), addResult.getDiagnosticMessage()), errorMessage); return; MoveSubtree.append( ERR_MOVE_SUBTREE_ACC_LISTENER_POST_ADD_FAILURE.get( searchEntry.getDN(), StaticUtils.getExceptionMessage(e)), errorMessage); return;
new LDIFModifyChangeRecord(searchEntry.getDN(), sourceChangeRecord.getModifications(), sourceChangeRecord.getControls());
throw new IllegalStateException("Can't get login for user: " + userName); if (ldapCheck.check(entry.getDN())) { final String realName = getAttribute(entry, config.getNameAttribute()); String email = getAttribute(entry, config.getEmailAttribute());
/** * {@inheritDoc} */ @Override() public void formatSearchResultEntry(final SearchResultEntry entry) { jsonBuffer.clear(); jsonBuffer.beginObject(); jsonBuffer.appendString("result-type", "entry"); jsonBuffer.appendString("dn", entry.getDN()); jsonBuffer.beginArray("attributes"); for (final Attribute a : entry.getAttributes()) { jsonBuffer.beginObject(); jsonBuffer.appendString("name", a.getName()); jsonBuffer.beginArray("values"); for (final String value : a.getValues()) { jsonBuffer.appendString(value); } jsonBuffer.endArray(); jsonBuffer.endObject(); } jsonBuffer.endArray(); handleControls(entry.getControls()); jsonBuffer.endObject(); ldapSearch.writeOut(jsonBuffer.toString()); }