//snippet of my function which calls all methods List<Attribute> memAttrList = ldapTemplate.search(getUsersInGrp(distributionList), new UsersMapper()); for (String distinguishedName : getUsersFromAttributeList(memAttrList )) { //String subGroup = (String)distinguishedName. membersKerbList.addAll(ldapTemplate.search(getUsername(distinguishedName), new KerberosMapper())); } //child methods private LdapQuery getUsersInGrp(String distributionList) { return query().base(this.base) .attributes(AD_FIELD_MEMBER) .where(AD_FIELD_OBJECT_CLASS).is("group") .and(query() .where(AD_FIELD_CN).is(distributionList) .or(AD_FIELD_MAIL_NICKNAME).is(distributionList) ); } private List<String> getUsersFromAttributeList(List<Attribute> memAttrList ) { List<String> membersDn = new ArrayList<>(); try { for (Attribute membersAttribute : memAttrList ) { NamingEnumeration<?> memberEnumeration = membersAttribute.getAll(); while (memberEnumeration.hasMore()) { membersDn.add(memberEnumeration.next().toString()); } } } catch (NamingException e) { e.printStackTrace(); } return membersDn; } private LdapQuery getUsername(String distinguishedName) { return query().base(this.base) .attributes(AD_FIELD_KERBEROS) .where(AD_FIELD_OBJECT_CLASS).is("user") //.or(AD_FIELD_OBJECT_CLASS).is("group") //.or(AD_FIELD_OBJECT_CLASS).is("group"); .and(AD_FIELD_DN).is(distinguishedName); }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)