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

说在前面

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

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

github已经上传:https://github.com/13652493839/TiHom-Security

各位如果可以就给我star哈哈谢谢啦


Spring Boot+Spring Security+Spring Social项目开发(九):Spring Security授权表达式、重构配置方面的内容、数据库RBAC数据模型控制权限
Spring Boot+Spring Security+Spring Social项目开发(八):Spring Security 控制授权、源码解析
Spring Boot+Spring Security+Spring Social项目开发(七):使用JWT替换默认Token、JWT实现SSO单点登录
Spring Boot+Spring Security+Spring Social项目开发(六):开发APP认证框架、Spring Security OAuth核心源码、重构三种登录方式、重构社交登录
Spring Boot+Spring Security+Spring Social项目开发(五):微信开发、绑定与解绑、Session管理、退出登录
Spring Boot+Spring Security+Spring Social项目开发(四):使用Spring Social开发第三方登录、QQ登录开发
Spring Boot+Spring Security项目开发(二):Spring Security、实现图形验证码功能、实现”记住我”功能
Spring Boot+Spring Security项目开发(一):RESTful API介绍


实现短信验证码登录

开发短信验证码接口

Spring Boot+Spring Security项目开发(三):实现短信验证码登录_第1张图片

校验短信验证码并登录

Spring Boot+Spring Security项目开发(三):实现短信验证码登录_第2张图片

> 验证码处理流程:

Spring Boot+Spring Security项目开发(三):实现短信验证码登录_第3张图片
先进入ValidateCodeController并且接收{type}–>进入ValidateCodeProcessorHolder(验证码处理器的持有者,要获取先来这里通过验证和查询)–>找到Spring的组件中对应的处理器,返回–>进入AbstractValidateCodeProcessor(顾名思义,抽象的验证码处理器类,这里面主要是各种验证码处理器类的共同方法)–>getValidateCodeType根据请求的url获取校验码的类型–>ValidateCodeType这是个枚举类,找到对应的类型–>获取validateCodeGenerator(在map中找)–>进入生成校验码的逻辑中

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

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

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

Spring Boot+Spring Security项目开发(三):实现短信验证码登录_第4张图片
1.将配置统一起来管理,在SecurityProperties类中读取BrowserProperties和ValidateCodeProperties,以后与安全认证相关的配置类都可以在SecurityProperties中配上
2.定义一个SecurityConstants安全认证模块的常量接口类,里面包含所有要用到的常量,方便以后维护和扩展
3.创建ValidateCodeProcessor,定义一些通用的方法和属性,让AbstractValidateCodeProcessor去实现接口自己扩展通用的方法,然后再让具体实现类去继承扩展自己的方法

你可能感兴趣的:(企业级项目开发)