diff --git a/core/src/main/java/org/springframework/security/authentication/dao/AbstractUserDetailsAuthenticationProvider.java b/core/src/main/java/org/springframework/security/authentication/dao/AbstractUserDetailsAuthenticationProvider.java index d107f9aa22..f0c5b2c50c 100644 --- a/core/src/main/java/org/springframework/security/authentication/dao/AbstractUserDetailsAuthenticationProvider.java +++ b/core/src/main/java/org/springframework/security/authentication/dao/AbstractUserDetailsAuthenticationProvider.java @@ -137,11 +137,12 @@ public Authentication authenticate(Authentication authentication) throws Authent } catch (UsernameNotFoundException ex) { this.logger.debug(LogMessage.format("Failed to find user '%s'", username)); + String message = this.messages.getMessage("AbstractUserDetailsAuthenticationProvider.badCredentials", + "Bad credentials"); if (!this.hideUserNotFoundExceptions) { throw ex; } - throw new BadCredentialsException(this.messages - .getMessage("AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials")); + throw new BadCredentialsException(message, ex); } Assert.notNull(user, "retrieveUser returned null - a violation of the interface contract"); }