From 314fa3427cf7aafac2a2ef37301fd081952893e7 Mon Sep 17 00:00:00 2001 From: Patrick Dowler <patrick.dowler@nrc-cnrc.gc.ca> Date: Thu, 13 Aug 2015 17:55:02 -0700 Subject: [PATCH] ichanged getGroup to use searchForEntry with base = groupDN --- .../nrc/cadc/ac/server/ldap/LdapGroupDAO.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java index eabfedc8..5bc82074 100755 --- a/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java +++ b/projects/cadcAccessControl-Server/src/ca/nrc/cadc/ac/server/ldap/LdapGroupDAO.java @@ -1012,17 +1012,17 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO logger.debug("getGroup: " + groupDN.toNormalizedString()); Filter filter = Filter.createNOTFilter(Filter.createPresenceFilter("nsaccountlock")); - filter = Filter.createANDFilter(filter, - Filter.createEqualityFilter("entrydn", groupDN.toNormalizedString())); + //filter = Filter.createANDFilter(filter, + // Filter.createEqualityFilter("entrydn", groupDN.toNormalizedString())); SearchRequest searchRequest = new SearchRequest( - config.getGroupsDN(), SearchScope.SUB, filter, GROUP_ATTRS); + groupDN.toNormalizedString(), SearchScope.SUB, filter, GROUP_ATTRS); searchRequest.addControl( new ProxiedAuthorizationV2RequestControl("dn:" + getSubjectDN().toNormalizedString())); - SearchResult result = getConnection().search(searchRequest); + SearchResultEntry result = getConnection().searchForEntry(searchRequest); if (result == null) { @@ -1030,18 +1030,18 @@ public class LdapGroupDAO<T extends Principal> extends LdapDAO logger.debug(msg); throw new GroupNotFoundException(groupDN.toNormalizedString()); } - if (result.getEntryCount() == 0) - throw new GroupNotFoundException(groupDN.toString()); + //if (result.getEntryCount() == 0) + // throw new GroupNotFoundException(groupDN.toString()); - SearchResultEntry sre = result.getSearchEntries().get(0); + //SearchResultEntry sre = result.getSearchEntries().get(0); - if (sre.getAttribute("nsaccountlock") != null) + if (result.getAttribute("nsaccountlock") != null) { // TODO: logger.error() + throw GroupNotFoundException instead? throw new RuntimeException("BUG: found group with nsaccountlock set: " + groupDN.toString()); } - Group g = createGroup(sre); + Group g = createGroup(result); logger.debug("found: " + g.getID()); return g; } -- GitLab