Что такое AuthenticationManager по умолчанию в Spring-Security? Как он аутентифицируется?

У меня определен следующий bean-компонент:

<sec:authentication-manager alias="authenticationManager">
    <sec:authentication-provider
        user-service-ref="userDetailsService" />
</sec:authentication-manager>

Думаю, здесь Spring использует некоторую реализацию по умолчанию AuthenticationManager.

В моем коде Java у меня есть:

@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;
}

Здесь вызывается AuthenticationManager.authenticate(...). Но я хотел бы знать, какую реализацию AuthenticationManagerSpring использует по умолчанию и что делает его authentication(...)для аутентификации (т.е. убедитесь, что имя пользователя соответствует паролю ).

Не могли бы вы объяснить это?

56
задан rapt 20 March 2012 в 13:09
поделиться