Spring Boot+Spring Security项目开发(三):实现短信验证码登录

说在前面

博主最近会有很多项目跟大家一起分享,做完后会上传github上的,希望读友们能给博主提提意见哈哈

这个项目是第三方登录和安全方面的,关于后台与app和网站的登录连接操作的实战项目


实现短信验证码登录

开发短信验证码接口

这里写图片描述

校验短信验证码并登录

这里写图片描述

> 验证码处理流程:

这里写图片描述
先进入ValidateCodeController并且接收{type}–>进入ValidateCodeProcessorHolder(验证码处理器的持有者,要获取先来这里通过验证和查询)–>找到Spring的组件中对应的处理器,返回–>进入AbstractValidateCodeProcessor(顾名思义,抽象的验证码处理器类,这里面主要是各种验证码处理器类的共同方法)–>getValidateCodeType根据请求的url获取校验码的类型–>ValidateCodeType这是个枚举类,找到对应的类型–>获取validateCodeGenerator(在map中找)–>进入生成校验码的逻辑中

> 验证码过滤器的运行机制

在属性配置完之后–>向map中存放所有需要校验验证码的url(调用securityProperties中getCode中读取不同类型的验证码类型)–>往下执行–>等用户输入后再进入过滤器进行doFilterInternal内部校验

重构代码
> 重构的目的就是让代码以后都可以直接重用

这里写图片描述
1.将配置统一起来管理,在SecurityProperties类中读取BrowserProperties和ValidateCodeProperties,以后与安全认证相关的配置类都可以在SecurityProperties中配上
2.定义一个SecurityConstants安全认证模块的常量接口类,里面包含所有要用到的常量,方便以后维护和扩展
3.创建ValidateCodeProcessor,定义一些通用的方法和属性,让AbstractValidateCodeProcessor去实现接口自己扩展通用的方法,然后再让具体实现类去继承扩展自己的方法

猜你喜欢

转载自blog.csdn.net/tryandfight/article/details/80461402