方法一:
@Autowired
private final AuthenticationManagerBuilder authenticationManagerBuilder;
//方法中使用
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username(), password);
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
调用流程:
方法二:
//在SecurityConfig提前注入AuthenticationManager由ProviderManager子类实现
@Bean
@Override
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
@Autowired
private AuthenticationManager authenticationManager;
//方法使用
UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username(), password);
Authentication authentication1 = authenticationManager.authenticate(authenticationToken);
调用流程:
说明:
方法一和方法二唯一区别就是AuthenticationManagerBuilder和AuthenticationManager