@Override public Object visit(AndUserFilter and, Object extraData) { List<Filter> filters = new ArrayList<Filter>(); for (UserFilter filter : and.getChildren()) { Filter f = (Filter) filter.accept(this, extraData); filters.add(f); } return Filter.createANDFilter(filters); }
/** * Retrieves a filter that will match any entry containing the structural and * auxiliary classes for this object type. * * @return A filter that will match any entry containing the structural and * auxiliary classes for this object type. */ public Filter createBaseFilter() { if (auxiliaryClasses.length == 0) { return Filter.createEqualityFilter("objectClass", structuralClass); } else { final ArrayList<Filter> comps = new ArrayList<Filter>(1+auxiliaryClasses.length); comps.add(Filter.createEqualityFilter("objectClass", structuralClass)); for (final String s : auxiliaryClasses) { comps.add(Filter.createEqualityFilter("objectClass", s)); } return Filter.createANDFilter(comps); } }
@Override public Set<String> retrieveUserGroups(LDAPUserContext userContext) throws LDAPException { Set<String> groups = new HashSet<String>(); try { Filter groupClassFilter; if (groupObjectClass != null && !groupObjectClass.isEmpty()) { groupClassFilter = Filter.createEqualityFilter("objectClass", groupObjectClass); } else { groupClassFilter = Filter.createPresenceFilter("objectClass"); } Filter filter = Filter.createANDFilter(groupClassFilter, Filter.createEqualityFilter(groupMemberAttribute, userContext.getDn())); LOGGER.debug(filter.toString()); SearchResult searchResult = ldapConnectionPool.search(StringUtils.join(groupBase, ','), SearchScope.SUB, filter, "cn"); for (SearchResultEntry entry : searchResult.getSearchEntries()) { groups.add(entry.getAttributeValue("cn")); } return groups; } catch (com.unboundid.ldap.sdk.LDAPException e) { throw new LDAPException(e); } } }
return createANDFilter(componentSet);
return createANDFilter(componentSet);
@Override public List<org.geomajas.security.UserInfo> getUsers(UserFilter userFilter) { List<org.geomajas.security.UserInfo> users = new ArrayList<org.geomajas.security.UserInfo>(); if (allUsersDn == null) { log.warn("Getting users from LDAP requires configuration of allUsersDn property"); } else { SearchRequest request = createSearchRequest(allUsersDn); LdapFilterVisitor visitor = new LdapFilterVisitor(); Filter ldapFilter = (Filter) userFilter.accept(visitor, null); if (ldapFilter != null) { Filter f = request.getFilter(); request.setFilter(Filter.createANDFilter(f, ldapFilter)); } SearchResult result = execute(request, null, null); if (result != null) { for (SearchResultEntry entry : result.getSearchEntries()) { users.add(getUserInfo(entry)); } } } return users; }
userClassFilter = Filter.createPresenceFilter("objectClass"); Filter filter = Filter.createANDFilter(userClassFilter, Filter.createEqualityFilter(userIdentityAttribute, identityAttributeValue)); LOGGER.debug(filter.toString()); String[] attributesToRetrieve;
return Filter.createANDFilter(comps);
return new AssertionRequestControl(Filter.createANDFilter(andComponents));
SearchScope.BASE, Filter.createANDFilter(comps), "1.1"); return (searchResult.getEntryCount() == 1);
@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; }
this.filter = Filter.createANDFilter(); examineFilter = false;
this.filter = Filter.createANDFilter(); allEntriesMatchFilter = true;
final Filter filter; if (!config.getSearchFilter().isEmpty()) { filter = Filter.createANDFilter( Filter.create(config.getSearchFilter()), Filter.createEqualityFilter(config.getLoginAttribute(), userName)
filter = Filter.createANDFilter(filterArgument.getValue(), filter);
final Filter f = Filter.createANDFilter(filter, handler.createBaseFilter());
filter = Filter.createANDFilter(filterArgument.getValue(), filter);
Filter.createANDFilter(handler.createFilter(o), extraFilter), true);
filter = Filter.createANDFilter(handler.createFilter(o), extraFilter); Filter.createANDFilter(handler.createFilter(o), extraFilter), true); Filter.createANDFilter(filter, handler.createBaseFilter()), true); final SearchListenerBridge<T> bridge = new SearchListenerBridge<T>(this, l);