大家好!我是小小!今天我们用五分钟来用springboot实现我们常用的图形验证码功能模块!
用户登录几乎是一个线上系统必不可少且使用相对比较频繁的一个模块,为了防止恶意暴力尝试,防止洪水攻击、防止脚本自动提交等,验证码是一个较为便捷且行之有效的预防手段。
具体效果如下:
第一步:工具类该工具类为生成验证码图片的核心,直接拷贝到项目即可,无需做修改;可个性化的参数全部对外提供的API,比如 字体大小,背景颜色,干扰线数量,高宽等都可以根据自己的需求设置对应参数;
代码几乎每一行都加了详细的注释;如果遇上特殊的个性化需求,调整一下这个工具类即可实现。
第二步:图片生成:使用默认参数:
自定义参数生成:
整合到springboot项目中:需要引入的maven依赖:
获取相关的验证码:
service层:
serviceimpl层:
这里面还会用到redis相关的工具类,我就不列出来了,想要的话可以看我以前的文章工具类戳这里
controller层:这里有用到@RequiredArgsConstructor, 就是简单的注入而已, 如果想要详细了解戳这里
这里为了不被一直无限制的访问该服务, 我们用了一个限制ip访问次数的注解@LimitRequest
annotion包下的注解类:
aspect包下的切面类:
为了捕获全局的异常抛出, 且符合restful规范我们加一个这个处理类:
handle包下面的全局异常类:
application.yaml文件:
最终项目结构如下:
先得到一个验证码:
验证一下是否成功:
成功结果:
验证失败结果:
当请求在规定时间内的请求数超过规定的数量时或有报错:
参考:
连接1
到此这篇关于springboot图片验证码的文章就介绍到这了,更多相关springboot图片验证码内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!