private String extractString( Attribute attr ) throws Exception { StringBuilder attrStr = new StringBuilder(); for ( NamingEnumeration<?> eattr = attr.getAll(); eattr.hasMore(); ) { if ( attrStr.length() > 0 ) { attrStr.append( data.multi_valuedFieldSeparator ); } attrStr.append( eattr.next().toString() ); } return attrStr.toString(); }
protected Set<String> addAttributeValues(String attrId, Attributes attrs, Set<String> values) throws NamingException { if (attrId == null || attrs == null) { return values; } if (values == null) { values = new HashSet<String>(); } Attribute attr = attrs.get(attrId); if (attr == null) { return values; } NamingEnumeration<?> e = attr.getAll(); while (e.hasMore()) { String value = (String)e.next(); values.add(value); } return values; }
roleNames = new LinkedHashSet<String>(); SearchControls searchCtls = new SearchControls(); searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE); SearchResult sr = (SearchResult) answer.next(); Attributes attrs = sr.getAttributes(); while (ae.hasMore()) { Attribute attr = (Attribute) ae.next();
String[] returningAttributes = isAD ? new String[] { "distinguishedName", manager.getUsernameField() } : new String[] { manager.getUsernameField() }; SearchControls searchControls = new SearchControls(); searchControls.setReturningAttributes(returningAttributes); searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); searchControls.setSearchScope(SearchControls.ONELEVEL_SCOPE); String description; try { name = ((String)((a.get(manager.getGroupNameField())).get())); description = ((String)((a.get(manager.getGroupDescriptionField())).get())); Attribute memberField = a.get(manager.getGroupMemberField()); if (memberField != null) { NamingEnumeration ne = memberField.getAll(); while (ne.hasMore()) { String username = (String) ne.next(); Attributes attrs = searchResult.getAttributes(); if (isAD) { Attribute userdnAttr = attrs.get("distinguishedName");
protected Set<GroupPrincipal> getACLs(String destinationBase, SearchControls constraints, String roleBase, String roleAttribute) { try { Set<GroupPrincipal> roles = new HashSet<GroupPrincipal>(); Set<String> acls = new HashSet<String>(); NamingEnumeration<?> results = context.search(destinationBase, roleBase, constraints); while (results.hasMore()) { SearchResult result = (SearchResult)results.next(); Attributes attrs = result.getAttributes(); if (attrs == null) { continue; } acls = addAttributeValues(roleAttribute, attrs, acls); } for (Iterator<String> iter = acls.iterator(); iter.hasNext();) { String roleName = iter.next(); LdapName ldapname = new LdapName(roleName); Rdn rdn = ldapname.getRdn(ldapname.size() - 1); LOG.debug("Found role: [" + rdn.getValue().toString() + "]"); roles.add(new GroupPrincipal(rdn.getValue().toString())); } return roles; } catch (NamingException e) { LOG.error(e.toString()); return new HashSet<GroupPrincipal>(); } }
Attribute groupDNAttr = result.getAttributes().get(memberOfAttr); if (groupDNAttr == null) { throw new NamingException("The user object does not have '" + NamingEnumeration groupEnumeration = groupDNAttr.getAll(); while (groupEnumeration.hasMore()) { String groupDN = groupEnumeration.next().toString(); groups.add(getRelativeDistinguishedName(groupDN));
@Override public boolean process(SearchResult record) throws NamingException { result.add(record.getNameInNamespace()); NamingEnumeration<? extends Attribute> allAttributes = record.getAttributes().getAll(); while(allAttributes.hasMore()) { Attribute attribute = allAttributes.next(); addAllAttributeValuesToResult(attribute.getAll()); } return true; }
private void setRoles(final DirContext authContext, final AuthenticationRequest request, final String username) throws NamingException { final List roles = new ArrayList(); final String filter = "(objectclass=organizationalRole)"; final SearchControls controls = new SearchControls(); controls.setSearchScope(SearchControls.SUBTREE_SCOPE); controls.setReturningAttributes(new String[] { "cn" }); final NamingEnumeration answer = authContext.search("uid=" + username + ", " + ldapDn, filter, controls); while (answer.hasMore()) { final SearchResult result = (SearchResult) answer.nextElement(); final String roleName = (String) result.getAttributes().get("cn").get(0); roles.add(roleName); LOG.debug("Adding role: " + roleName); } request.setRoles((String[]) roles.toArray(new String[roles.size()])); }
private static void printAttrs(Attributes attrs) throws NamingException { NamingEnumeration<? extends Attribute> attrsEnum = attrs.getAll(); while (attrsEnum.hasMore()) { Attribute currentAttr = attrsEnum.next(); outstream.print(String.format("%1$s:", currentAttr.getID())); NamingEnumeration<?> valuesEnum = currentAttr.getAll(); while (valuesEnum.hasMoreElements()) { outstream.print(String.format("%1$s ", valuesEnum.nextElement().toString())); } outstream.println(); } }
SearchControls controls = new SearchControls(); controls.setSearchScope(SearchControls.OBJECT_SCOPE); NamingEnumeration<SearchResult> results = context.search(newName, getFilterForPermissionType(newPermissionType), controls); if (results.hasMore()) { objectAdded(namingEvent, destinationType, newPermissionType); matchedToType = true;
while (pairEnum.hasMore()) { NameClassPair pair = (NameClassPair) pairEnum.next(); pairMap.put(pair.getName(), pair.getClassName()); NamingEnumeration<?> subPairEnum = subContext.list(""); while (subPairEnum.hasMoreElements()) { NameClassPair pair = (NameClassPair) subPairEnum.next(); subPairMap.put(pair.getName(), pair.getClassName()); while (pairEnum.hasMore()) { NameClassPair pair = (NameClassPair) pairEnum.next(); pairMap.put(pair.getName(), pair.getClassName());
public Object mapFromContext(Object ctx) { DirContextAdapter adapter = (DirContextAdapter) ctx; Map<String, List<String>> record = new HashMap<String, List<String>>(); if (attributeNames == null || attributeNames.length == 0) { try { for (NamingEnumeration ae = adapter.getAttributes().getAll(); ae .hasMore();) { Attribute attr = (Attribute) ae.next(); extractStringAttributeValues(adapter, record, attr.getID()); } } catch (NamingException x) { org.springframework.ldap.support.LdapUtils .convertLdapException(x); } } else { for (String attributeName : attributeNames) { extractStringAttributeValues(adapter, record, attributeName); } } record.put(DN_KEY, Arrays.asList(getAdapterDN(adapter))); set.add(record); return null; } };
SearchControls controls = new SearchControls(); controls.setSearchScope(SUBTREE_SCOPE); NamingEnumeration<SearchResult> renum = context.search(toDC(domainName), "(& (userPrincipalName=" + principalName + ")(objectClass=user))", controls); if (!renum.hasMore()) { System.out.println("Cannot locate user information for " + username); System.exit(1); SearchResult result = renum.next(); Attribute memberOf = result.getAttributes().get("memberOf"); if (memberOf != null) {// null if this user belongs to no group at all for (int i = 0; i < memberOf.size(); i++) { Attributes atts = context.getAttributes(memberOf.get(i).toString(), new String[] { "CN" }); Attribute att = atts.get("CN"); groups.add(new GrantedAuthorityImpl(att.get().toString()));
private List<String> addAttributeValues(String attrId, Attributes attrs, List<String> values) throws NamingException { if (attrId == null || attrs == null) { return values; } if (values == null) { values = new ArrayList<String>(); } Attribute attr = attrs.get(attrId); if (attr == null) { return values; } NamingEnumeration<?> e = attr.getAll(); while (e.hasMore()) { String value = (String)e.next(); values.add(value); } return values; }
ctx.setRequestControls(searchControl); SearchControls searchControls = new SearchControls(); searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); searchControls.setSearchScope(SearchControls.ONELEVEL_SCOPE); while (answer.hasMoreElements()) { Attributes attributes = ((SearchResult) answer.next()).getAttributes(); String groupName = (String) attributes.get(manager.getGroupNameField()).get(); String description = ""; int elements = 0; try { description = ((String) attributes.get(manager.getGroupDescriptionField()).get()); } catch (NullPointerException e) { Attribute memberField = attributes.get(manager.getGroupMemberField()); if (memberField != null) { NamingEnumeration ne = memberField.getAll(); while (ne.hasMore()) { ne.next(); elements = elements + 1;
public Attributes findAttributes(String rootDN, String filter) throws NamingException { NamingEnumeration<SearchResult> answer = searchSubTree(rootDN, filter); if (answer.hasMore()) { SearchResult sr = answer.next(); return sr.getAttributes(); } return null; }
private SearchResult searchAlias(DirContext dirContext, String alias, byte[] cert, String[] returningAttributes) throws NamingException { SearchControls ctls = createSearchControl(returningAttributes); NamingEnumeration<SearchResult> results = (cert == null) ? dirContext.search(searchPath, filterAlias, new String[]{alias}, ctls) : dirContext.search(searchPath, filterCertificate, new Object[]{cert}, ctls); if (!results.hasMore()) { log.debugf("Alias [%s] not found in LdapKeyStore", alias); return null; } return results.next(); }
NamingEnumeration<?> attributes = contextAttributes.getAll(); if (attributes != null) { while (attributes.hasMore()) { Attribute attr = (Attribute) attributes.next(); NamingEnumeration<?> srvValues = attr.getAll(); if (srvValues != null) { while (srvValues.hasMore()) { T dnsRecord = cls.newInstance(); dnsRecord.load((String) srvValues.next()); dnsRecordList.add(dnsRecord);
private void setRoles(final DirContext authContext, final AuthenticationRequest request, final String username) throws NamingException { final List<String> roles = new ArrayList<String>(); final SearchControls controls = new SearchControls(); controls.setSearchScope(SearchControls.SUBTREE_SCOPE); controls.setReturningAttributes(new String[] { "cn" }); final String name = "uid=" + username + ", " + ldapDn; final NamingEnumeration<SearchResult> answer = authContext.search(name, LdapAuthenticationConstants.FILTER, controls); while (answer.hasMore()) { final SearchResult result = (SearchResult) answer.nextElement(); final String roleName = (String) result.getAttributes().get("cn").get(0); roles.add(roleName); LOG.debug("Adding role: " + roleName); } request.setRoles(roles); }