@Override public boolean existsUser(String userId) { String context = getConfigProperty(USER_CTX); String filter = getConfigProperty(USER_FILTER); String attributeId = getConfigProperty(USER_ATTR_ID, DEFAULT_USER_ATTR_ID); return existsEntity(userId, context, filter, attributeId); }
@Override public boolean existsGroup(String groupId) { String context = getConfigProperty(ROLE_CTX); String filter = getConfigProperty(ROLE_FILTER); String attributeId = getConfigProperty(ROLE_ATTR_ID, DEFAULT_ROLE_ATTR_ID); return existsEntity(groupId, context, filter, attributeId); }
private boolean isUserIdDn() { return Boolean.parseBoolean(getConfigProperty(IS_USER_ID_DN, DEFAULT_USER_ID_DN)); }
private boolean escapeOn() { return Boolean.parseBoolean(getConfigProperty(LDAP_NAME_ESCAPE, "true")); }
@Override public List<String> getGroupsForUser(String userId) { String roleContext = getConfigProperty(USER_ROLES_CTX, getConfigProperty(ROLE_CTX)); String roleFilter = getConfigProperty(USER_ROLES_FILTER); String roleAttributeId = getConfigProperty(ROLE_ATTR_ID, DEFAULT_ROLE_ATTR_ID); String userDn = userId; if (!isUserIdDn()) { String userContext = getConfigProperty(USER_CTX); String userFilter = getConfigProperty(USER_FILTER); SearchResult searchResult = ldapSearcher.search(userContext, userFilter, userId).getSingleSearchResult(); userDn = searchResult.getNameInNamespace(); } List<String> result = ldapSearcher.search(roleContext, roleFilter, userDn).getAttributeResults(roleAttributeId); return result.stream().map(r-> unescapeIllegalChars(r)).collect(Collectors.toList()); }