前后端分离场景下的图片验证码方案

验证码生成流程

验证码验证流程

验证码生成方案

基于验证码的轮子还是挺多的,而且都与springboot项目集成的比较好,最简单的方案就是使用开源组件HuTool工具包,HuTool工具包的图片验证码生成支持随机字符串以及算术类型的验证码。

伪代码如下:

验证码控制器:

以上只是随机生成带有干扰线的图片验证码,还可以生成一个GIF格式验证码、圆圈干扰验证码、扭曲干扰验证码的验证码图片,如果需要一个GIF格式的验证码图片,则可以使用cn.hutool.captcha.GifCaptcha来生成验证码图片,生成方式跟cn.hutool.captcha.LineCaptcha是一样的。

验证码验证方案

部署

验证码服务跟随业务服务部署,所以部署架构如下:

可选组件