现在的系统中对于登录验证的方式越来越多,推荐一个很好的滑动块验证码的方案。
附上该开源项目的gitee地址:https://gitee.com/anji-plus/captcha

该项目中详细说明了支持Spring和Spring Boot项目接入的方案,可以点击上方的gitee地址去学习,本文的介绍只根据自身的SpringBoot项目进行示范。

以下具体集成的步骤:
1、在对应的项目中引入pom:

<dependency><groupId>com.anji-plus</groupId><artifactId>spring-boot-starter-captcha</artifactId><version>1.3.0</version></dependency>

并将静态资源如图片,滑块的底图放在自己项目对应的/resources目录

2、自己实现CaptchaCacheService 接口,将滑动块的信息存入redis中。

 @Overridepublic String type() {return "redis";}@Autowiredprivate StringRedisTemplate stringRedisTemplate;@Overridepublic void set(String key, String value, long expiresInSeconds) {stringRedisTemplate.opsForValue().set(key, value, expiresInSeconds, TimeUnit.SECONDS);}

3、上面的具体实现类通过spi机制暴露

4、application下的一些设置的配置项目(可选)

aj:captcha:# 滑动验证,底图路径,不配置将使用默认图片# 支持全路径# 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/jigsawjigsaw: classpath:images/jigsaw#滑动验证,底图路径,不配置将使用默认图片##支持全路径# 支持项目路径,以classpath:开头,取resource目录下路径,例:classpath:images/pic-clickpic-click: classpath:images/pic-click# 缓存local/redis...cache-type: redis# 验证码类型default两种都实例化。type: default# 右下角水印文字(我的水印)water-mark:# 校验滑动拼图允许误差偏移量(默认5像素)slip-offset: 5# aes加密坐标开启或者禁用(true|false)aes-status: true# 滑动干扰项(0/1/2)interference-options: 2#点选字体样式 默认Font.BOLDfont-style: 2#点选字体字体大小font-size: 12history-data-clear-enable: false# 接口请求次数一分钟限制是否开启 true|falsereq-frequency-limit-enable: false# get接口一分钟内请求数限制req-get-lock-limit: 5# 验证失败后,锁定时间间隔,s# 验证失败后,锁定时间间隔,sreq-get-lock-seconds: 360# get接口一分钟内请求数限制req-get-minute-limit: 30# check接口一分钟内请求数限制req-check-minute-limit: 30# verify接口一分钟内请求数限制req-verify-minute-limit: 60

5、在自己项目的授权认证处中增加对滑动块验证的支持,获取token,实现登录。

HttpServletRequest request = WebUtil.getRequest();String captchaVerification = tokenParameter.getArgs().getStr("captchaVerification");if (Func.isNotBlank(captchaVerification)) {CaptchaVO captchaVO = new CaptchaVO();captchaVO.setCaptchaVerification(captchaVerification);captchaService.verification(captchaVO);}

滑动验证码整合SpringBoot方案推荐相关推荐

  1. thinkphp整合极验滑动验证码源码演示下载

    thinkphp整合极验滑动验证码源码演示下载-二当家的php源码下载 <!DOCTYPE html><html lang="en"><head> ...

  2. python 滑动验证码_python:TX滑动验证码识别方案一

    一.介绍: 本内容只做技术交流使用,请勿做商业用途.本方法验证采用本地自建服务器的形式来对所介绍的算法做验证 滑动验证码如下图所示: 复制代码 二.本地测试环境构建 本地测试环境的构建CSDN已有文章 ...

  3. 从零破解一款轻量级滑动验证码

    关注下方「前端热榜」,回复 "思维图" 获取公众号所有JS思维图 昨天在掘金看到推荐文章<从零开发一款轻量级滑动验证码插件>[1],介绍了一些相关验证码及框架开发的知识 ...

  4. 从零开发一款轻量级滑动验证码插件(深度复盘)

    关注并将「趣谈前端」设为星标 每天定时分享技术干货/优秀开源/技术思维 github地址: https://github.com/MrXujiang/react-slider-vertify 之前一直 ...

  5. SSM+MyBatis-Plus+EasyExcel+腾讯云tianai滑动验证码接入项目搭建+简单实现增、删、改、查、导入、滑动验证码功能

    SSM+MyBatis-Plus+EasyExcel+腾讯云&tianai滑动验证码接入项目搭建+简单实现增.删.改.查.导入.滑动验证码功能 文章末尾附源码 一.什么是SSM框架 SSM框架 ...

  6. redis安装到熟练整合springboot(篇幅较长内容详细)

    尚硅谷课程redis学习笔记 1.在linux下安装redis数据库 这篇文章介绍安装 redis介绍: Redis是一个开源的key-value存储系统. 和Memcached类似,它支持存储的va ...

  7. rabbitmq消息队列入门到整合springboot(篇幅较长内容详细)

    1.安装rabbitmq服务器 我们选择在linux下安装 安装的前提需要在虚拟机下安装docker docker pull rabbitmq:management(拉去镜像) docker run ...

  8. 200行代码实现一个滑动验证码

    作者 | 崔庆才 转载自进击的Coder(ID: FightingCoder) 做网络爬虫的同学肯定见过各种各样的验证码,比较高级的有滑动.点选等样式,看起来好像挺复杂的,但实际上它们的核心原理还是还 ...

  9. 爬虫学习笔记(十九)—— 滑动验证码

    文章目录 一.概念 二.实现步骤 2.1.获取验证码图片 2.1.1.获取缺口图 2.1.2.获取滑块图 2.1.3.获取完整图 2.1.4.完整代码 2.2.计算缺口位置 2.3.模拟人工移动 2. ...

  10. float js 正则 验证_爬虫篇 | 200 行代码实现一个滑动验证码

    最近整理一个爬虫系列方面的文章,不管大家的基础如何,我从头开始整一个爬虫系列方面的文章,让大家循序渐进的学习爬虫,小白也没有学习障碍. 爬虫篇 | Python使用正则来爬取豆瓣图书数据 爬虫篇 | ...

最新文章

  1. 在IOS开发中根据(id)sender获取UIButton的信息
  2. 计算机丢失qt4core.dll,qtcore4.;dll文件丢失。怎么办?
  3. 【Linux】一步一步学Linux——reset命令(268)
  4. c# 获取路径的盘符_c#获取驱动器盘符
  5. 转载:页面滚动条处理
  6. 声道测试音频_功率放大器测试方法
  7. json rpgmv 加密_【RPG Maker MV插件编程】【实例教程6】存档的加密解密与保护
  8. MT2601智能穿戴芯片处理器参数介绍
  9. php laravel mix,引入 Laravel Mix 管理前端资源
  10. 30岁开始学编程晚吗?
  11. HDU-5064-Find Sequence(DP)
  12. 全网最透彻的Hash分析
  13. 好玩的表情包机器人微信小程序源码下载支持直接搜索仿聊天界面获取支持流量主
  14. Things3 3.13.13 一款优秀的GTD任务管理工具
  15. linux使用gcc实现扫雷,基于linux环境下扫雷应用程序
  16. 安卓设置keychain_IOS的keychain的三种使用方法
  17. 直播提醒 | 零基础深度学习极速入门课程重磅开营
  18. 群辉 RAID1 数据恢复小记
  19. 全网都在讲迁移学习,可你会写代码了吗?收藏我这个,10分钟开始你的迁移学习训练
  20. throw new JSONException(JSONObject[ + JSONUtils.quote(key) + ] is not a number.);

热门文章

  1. 楼天城楼教主的acm心路历程
  2. 网易云课堂-缓存介绍
  3. matlab求多元函数微积分,基于Matlab软件求解多元函数积分
  4. 苹果应用提审与NAT64
  5. 系统运维工程师都要会什么?
  6. Excel的序列号转换的算法
  7. [hihoCoder太阁最新面经算法竞赛1] 穿越禁区 (DFS,并查集,计算几何) 难题
  8. 鹏业安装算量材料表不能复制问题解答
  9. labwindows的学习资料、方法、安装包
  10. 网络安全技术第六章——第一节计算机病毒及其防治(中毒表现、计算机病毒概述、计算机病毒分类、病毒传播路径、计算机病故防治建议、我之前写过一篇这个,有需要的可以去看一下)