Search in sources :

Example 1 with LdapConnection

use of org.apache.archiva.redback.common.ldap.connection.LdapConnection in project archiva by apache.

the class DefaultRedbackRuntimeConfigurationService method checkLdapConnection.

@Override
public Boolean checkLdapConnection(LdapConfiguration ldapConfiguration) throws ArchivaRestServiceException {
    LdapConnection ldapConnection = null;
    try {
        LdapConnectionConfiguration ldapConnectionConfiguration = new LdapConnectionConfiguration(ldapConfiguration.getHostName(), ldapConfiguration.getPort(), ldapConfiguration.getBaseDn(), ldapConfiguration.getContextFactory(), ldapConfiguration.getBindDn(), ldapConfiguration.getPassword(), ldapConfiguration.getAuthenticationMethod(), toProperties(ldapConfiguration.getExtraProperties()));
        ldapConnectionConfiguration.setSsl(ldapConfiguration.isSsl());
        ldapConnection = ldapConnectionFactory.getConnection(ldapConnectionConfiguration);
        ldapConnection.close();
        // verify groups dn value too
        ldapConnectionConfiguration = new LdapConnectionConfiguration(ldapConfiguration.getHostName(), ldapConfiguration.getPort(), ldapConfiguration.getBaseGroupsDn(), ldapConfiguration.getContextFactory(), ldapConfiguration.getBindDn(), ldapConfiguration.getPassword(), ldapConfiguration.getAuthenticationMethod(), toProperties(ldapConfiguration.getExtraProperties()));
        ldapConnectionConfiguration.setSsl(ldapConfiguration.isSsl());
        ldapConnection = ldapConnectionFactory.getConnection(ldapConnectionConfiguration);
    } catch (InvalidNameException e) {
        log.warn("fail to get ldapConnection: {}", e.getMessage(), e);
        throw new ArchivaRestServiceException(e.getMessage(), e);
    } catch (LdapException e) {
        log.warn("fail to get ldapConnection: {}", e.getMessage(), e);
        throw new ArchivaRestServiceException(e.getMessage(), e);
    } finally {
        if (ldapConnection != null) {
            ldapConnection.close();
        }
    }
    return Boolean.TRUE;
}
Also used : InvalidNameException(javax.naming.InvalidNameException) ArchivaRestServiceException(org.apache.archiva.rest.api.services.ArchivaRestServiceException) LdapConnectionConfiguration(org.apache.archiva.redback.common.ldap.connection.LdapConnectionConfiguration) LdapException(org.apache.archiva.redback.common.ldap.connection.LdapException) LdapConnection(org.apache.archiva.redback.common.ldap.connection.LdapConnection)

Aggregations

InvalidNameException (javax.naming.InvalidNameException)1 LdapConnection (org.apache.archiva.redback.common.ldap.connection.LdapConnection)1 LdapConnectionConfiguration (org.apache.archiva.redback.common.ldap.connection.LdapConnectionConfiguration)1 LdapException (org.apache.archiva.redback.common.ldap.connection.LdapException)1 ArchivaRestServiceException (org.apache.archiva.rest.api.services.ArchivaRestServiceException)1