Search in sources :

Example 1 with BaseEntry

use of io.jans.orm.model.base.BaseEntry in project jans by JanssenProject.

the class BaseAuthFilterService method loadEntryDN.

public <T> String loadEntryDN(PersistenceEntryManager manager, Class<T> entryClass, AuthenticationFilterWithParameters authenticationFilterWithParameters, Map<String, String> normalizedAttributeValues) throws SearchException {
    final String filter = buildFilter(authenticationFilterWithParameters, normalizedAttributeValues);
    Filter ldapFilter = ldapFilterConverter.convertRawLdapFilterToFilter(filter).multiValued(false);
    log.debug("Using filter: '{}'", ldapFilter);
    List<T> foundEntries = manager.findEntries(authenticationFilterWithParameters.getAuthenticationFilter().getBaseDn(), entryClass, ldapFilter, new String[0]);
    if (foundEntries.size() > 1) {
        log.error("Found more than one entry by filter: '{}'. Entries: {}\n", ldapFilter, foundEntries);
        return null;
    }
    log.debug("Found entries: {}", foundEntries.size());
    if (foundEntries.size() != 1) {
        return null;
    }
    return ((BaseEntry) foundEntries.get(0)).getDn();
}
Also used : BaseFilter(io.jans.as.model.configuration.BaseFilter) Filter(io.jans.orm.search.filter.Filter) BaseEntry(io.jans.orm.model.base.BaseEntry)

Aggregations

BaseFilter (io.jans.as.model.configuration.BaseFilter)1 BaseEntry (io.jans.orm.model.base.BaseEntry)1 Filter (io.jans.orm.search.filter.Filter)1