J'ai défini le bean suivant :
<sec:authentication-manager alias="authenticationManager">
<sec:authentication-provider
user-service-ref="userDetailsService" />
</sec:authentication-manager>
Je suppose qu'ici Spring utilise une implémentation par défaut de AuthenticationManager
.
Dans mon code Java j'ai :
@Resource(name = "authenticationManager")
private AuthenticationManager authenticationManager; // specific for Spring Security
public boolean login(String username, String password) {
try {
Authentication authenticate = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
if (authenticate.isAuthenticated()) {
SecurityContextHolder.getContext().setAuthentication(authenticate);
return true;
}
}
catch (AuthenticationException e) {
}
return false;
}
Ici AuthenticationManager.authenticate(...)
est appelé. Mais j'aimerais savoir quelle implémentation de AuthenticationManager
Spring utilise par défaut, et ce que fait son authenticate(...)
pour s'authentifier (c'est-à-dire, s'assurer que le nom d'utilisateur correspond au mot de passe).
Pourriez-vous expliquer cela ?