From 36eaa4014ccdf271f5e364c14b4a0c4fffe02f80 Mon Sep 17 00:00:00 2001 From: Ignacio Diaz Teijido Date: Tue, 7 Jun 2011 09:33:50 +0200 Subject: [PATCH] Captured generic exceptions. FEA: ItEr74S09LdapAuhentication --- .../web/common/ConfigurationController.java | 10 +---- .../LDAPCustomAuthenticationProvider.java | 39 ++----------------- 2 files changed, 6 insertions(+), 43 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java index 29d095971..3ba93b843 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/ConfigurationController.java @@ -41,8 +41,6 @@ import org.navalplanner.business.common.entities.LDAPConfiguration; import org.navalplanner.business.common.entities.ProgressType; import org.navalplanner.business.common.exceptions.ValidationException; import org.navalplanner.web.common.components.bandboxsearch.BandboxSearch; -import org.springframework.ldap.CommunicationException; -import org.springframework.ldap.UncategorizedLdapException; import org.springframework.ldap.core.DistinguishedName; import org.springframework.ldap.core.LdapTemplate; import org.springframework.ldap.core.support.DefaultDirObjectFactory; @@ -253,12 +251,8 @@ public class ConfigurationController extends GenericForwardComposer { .getLdapUserId(), "test").toString(), "test"); messages.showMessage(Level.INFO, _("LDAP connection was successful")); - } catch (UncategorizedLdapException ule) { - LOG.info(ule); - messages.showMessage(Level.ERROR, - _("Cannot connect to LDAP server")); - } catch (CommunicationException ce) { - LOG.info(ce); + } catch (Exception e) { + LOG.info(e); messages.showMessage(Level.ERROR, _("Cannot connect to LDAP server")); } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/services/LDAPCustomAuthenticationProvider.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/services/LDAPCustomAuthenticationProvider.java index bd2b321e6..db2df9e35 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/services/LDAPCustomAuthenticationProvider.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/services/LDAPCustomAuthenticationProvider.java @@ -27,9 +27,6 @@ import org.navalplanner.business.users.daos.IUserDAO; import org.navalplanner.business.users.entities.User; import org.navalplanner.business.users.entities.UserRole; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.ldap.CommunicationException; -import org.springframework.ldap.ServiceUnavailableException; -import org.springframework.ldap.UncategorizedLdapException; import org.springframework.ldap.core.DistinguishedName; import org.springframework.ldap.core.LdapTemplate; import org.springframework.ldap.filter.EqualsFilter; @@ -227,44 +224,16 @@ public class LDAPCustomAuthenticationProvider extends throw new BadCredentialsException( "User is not in LDAP."); } - } catch (CommunicationException ce) { - // This exception captures when LDAP is not reachable. + } catch (Exception e) { + // This exception captures when LDAP authentication is not + // possible // We must in this case try to authenticate against DB. - // LDAP is not enabled we must check if the LDAP user is in - // DB if (authenticateInDatabase(authentication, username, user)) { // user credentials are ok return getUserDetailsService().loadUserByUsername( username); } else { - throw new BadCredentialsException( - "Authenticating LDAP user against LDAP. Maybe LDAP is out of service. " - + "Credentials are not the same as in database."); - } - } catch (UncategorizedLdapException ule) { - // This exception captures when LDAP URL is malformed - // this should never occur, but we check it to try - // database authentication. - if (authenticateInDatabase(authentication, username, user)) { - // user credentials are ok - return getUserDetailsService().loadUserByUsername( - username); - } else { - throw new BadCredentialsException( - "LDAP url is malformed. Trying to authenticate against DB. " - + "Credentials are not the same as in database"); - } - } catch (ServiceUnavailableException sua) { - // This exception captures when LDAP is not available - // We try database authentication. - if (authenticateInDatabase(authentication, username, user)) { - // user credentials are ok - return getUserDetailsService().loadUserByUsername( - username); - } else { - throw new BadCredentialsException( - "LDAP is out of service. Trying to authenticate against DB. " - + "Credentials are not the same as in database"); + throw new BadCredentialsException(e.getMessage()); } } } else {