72 votes

Quel est l'AuthenticationManager par défaut dans Spring-Security ? Comment s'authentifie-t-il ?

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 ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X