!-- flowchart 箭头图标 勿删 --
Spring Security实现的基本原理就是一堆过滤器,每个需要认证的请求都需要经过每个拦截器的拦截,如果所有拦截器都不报错就表示该用户有权限访问访问该接口,如果没有权限就抛异常。Spring Security登录时会经过UsernamePasswordAuthenticationFilter过滤器来校验用户名和密码,Spring Security并没有提供用于校验验证码的过滤器,所以实现验证码登录只需要定义一个图片验证码的过滤器,然后将图片验证码过滤器添加到Spring Security过滤器链中,一般是将图片验证码过滤器添加到UsernamePasswordAuthenticationFilter过滤器签名,先校验图片验证码是否正确,正确再校验用户名和密码是否正确。Sprin