@ -145,10 +145,15 @@ public abstract class AbstractUserDetailsAuthenticationProvider implements Authe
@@ -145,10 +145,15 @@ public abstract class AbstractUserDetailsAuthenticationProvider implements Authe
try {
additionalAuthenticationChecks ( user , ( UsernamePasswordAuthenticationToken ) authentication ) ;
} catch ( AuthenticationException exception ) {
// There was a problem, so try again after checking we're using latest data
cacheWasUsed = false ;
user = retrieveUser ( username , ( UsernamePasswordAuthenticationToken ) authentication ) ;
additionalAuthenticationChecks ( user , ( UsernamePasswordAuthenticationToken ) authentication ) ;
if ( cacheWasUsed ) {
// There was a problem, so try again after checking
// we're using latest data (ie not from the cache)
cacheWasUsed = false ;
user = retrieveUser ( username , ( UsernamePasswordAuthenticationToken ) authentication ) ;
additionalAuthenticationChecks ( user , ( UsernamePasswordAuthenticationToken ) authentication ) ;
} else {
throw exception ;
}
}
if ( ! user . isCredentialsNonExpired ( ) ) {