传统的开发模式中我们可以通过代码很直观就能找到校验登录逻辑
但这个框架做了很多的抽象设计 把处理中,成功,失败 等全部抽离设计出了
其中处理中的关键代码如下
在该配置类中
configure(AuthenticationManagerBuilder auth) 方法设置了密码的校验方式
@Slf4j
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private UserDetailsServiceImpl userDetailsService;
...
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService).passwordEncoder(new BCryptPasswordEncoder());
}