diff options
author | Martin Stockhammer <martin_s@apache.org> | 2016-10-04 20:52:25 +0200 |
---|---|---|
committer | Martin Stockhammer <martin_s@apache.org> | 2016-10-04 20:52:25 +0200 |
commit | 0cc2733ca000451ebc26f2f76178d64bfdc92f36 (patch) | |
tree | f847d717a750bc951a38a45cdd0b132b7e014498 | |
parent | 1fd9c951e19a30f7636f4a924cb9e2bf06af2861 (diff) | |
download | archiva-validauth.tar.gz archiva-validauth.zip |
Adding isValid() method to authentication classesvalidauth
3 files changed, 29 insertions, 3 deletions
diff --git a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java index e319c3629..0284bb8f5 100644 --- a/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java +++ b/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultRedbackRuntimeConfigurationService.java @@ -192,7 +192,12 @@ public class DefaultRedbackRuntimeConfigurationService for ( Authenticator authenticator : authenticators ) { - authenticator.initialize(); + try { + log.debug("Initializing authenticatior "+authenticator.getId()); + authenticator.initialize(); + } catch (Exception e) { + log.error("Initialization of authenticator failed "+authenticator.getId(),e); + } } // users cache diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java index cd15b1efa..45945f104 100644 --- a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java +++ b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/runtime/ldap/ArchivaLdapConnectionFactory.java @@ -23,6 +23,8 @@ import org.apache.archiva.admin.model.beans.LdapConfiguration; import org.apache.archiva.admin.model.runtime.RedbackRuntimeConfigurationAdmin; import org.apache.archiva.redback.common.ldap.connection.ConfigurableLdapConnectionFactory; import org.apache.archiva.redback.common.ldap.connection.LdapConnectionConfiguration; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; @@ -40,6 +42,10 @@ public class ArchivaLdapConnectionFactory extends ConfigurableLdapConnectionFactory { + private final Logger log = LoggerFactory.getLogger(ArchivaLdapConnectionFactory.class); + + private boolean valid = false; + @Inject private RedbackRuntimeConfigurationAdmin redbackRuntimeConfigurationAdmin; @@ -63,10 +69,12 @@ public class ArchivaLdapConnectionFactory ldapConnectionConfiguration.setPassword( ldapConfiguration.getPassword() ); ldapConnectionConfiguration.setAuthenticationMethod( ldapConfiguration.getAuthenticationMethod() ); ldapConnectionConfiguration.setExtraProperties( toProperties( ldapConfiguration.getExtraProperties() ) ); + valid=true; } catch ( InvalidNameException e ) { - throw new RuntimeException( "Error while initializing connection factory.", e ); + log.error("Error during initialization of LdapConnectionFactory "+e.getMessage(),e); + // throw new RuntimeException( "Error while initializing connection factory.", e ); } catch ( RepositoryAdminException e ) { @@ -99,4 +107,9 @@ public class ArchivaLdapConnectionFactory { this.ldapConnectionConfiguration = ldapConnectionConfiguration; } + + @Override + public boolean isValid() { + return valid; + } } diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaUserManagerAuthenticator.java b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaUserManagerAuthenticator.java index 4d9325305..0a74e395b 100644 --- a/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaUserManagerAuthenticator.java +++ b/archiva-modules/archiva-web/archiva-web-common/src/main/java/org/apache/archiva/web/security/ArchivaUserManagerAuthenticator.java @@ -67,6 +67,8 @@ public class ArchivaUserManagerAuthenticator private List<UserManager> userManagers; + private boolean valid = false; + @PostConstruct @Override public void initialize() @@ -83,10 +85,12 @@ public class ArchivaUserManagerAuthenticator { userManagers.add( applicationContext.getBean( "userManager#" + beanId, UserManager.class ) ); } + valid=true; } catch ( RepositoryAdminException e ) { - throw new AuthenticationException( e.getMessage(), e ); + log.error("Error during repository initialization "+e.getMessage(),e); + // throw new AuthenticationException( e.getMessage(), e ); } } @@ -225,4 +229,8 @@ public class ArchivaUserManagerAuthenticator { return "ArchivaUserManagerAuthenticator"; } + + public boolean isValid() { + return valid; + } } |