springboot验证码-AJ-captcha

发布时间 2023-08-18 23:09:58作者: 全琪俊

准备资料:

若依版本 : ruoyi-vue 3.8.2 【点我去下载】
aj-captcha版本:1.3.0 【去下源码】
参考:若依官方文档-集成aj-captcha

开始

若依vue版本的验证码用了数学运算,还得手工输入计算结果。看了官方文档,改成了目前比较流行的拖动滑块方式。

1.引入MAVEN依赖

若依官方引入的是1.2.7版本。我选择了目前最常用的1.3.0版本。
在项目中给的 ruoyi-frameworkpom.xml 添加依赖

1
2
3
4
5
<dependency>
    <groupid>com.anji-plus</groupid>
    <artifactid>spring-boot-starter-captcha</artifactid>
    <version>1.3.0</version>
</dependency>
2.修改application.yml,加入aj-captcha配置

在ruoyi-admin模块中的application.yml中添加aj-captcha配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 滑块验证码
aj:
   captcha:
      # 缓存类型
      cache-type: redis
      # blockPuzzle 滑块 clickWord 文字点选  default默认两者都实例化
      type: blockPuzzle
      # 右下角显示字
      water-mark: ruoyi.vip
      # 校验滑动拼图允许误差偏移量(默认5像素)
      slip-offset: 5
      # aes加密坐标开启或者禁用(true|false)
      aes-status: true
      # 滑动干扰项(0/1/2)
      interference-options: 2

这只是基础配置,可以参考aj-captcha详细配置选择自己想用的参数。

3.添加实现类指向设置

在ruoyi-adminsrcmainresourcesMETA-INFservices下创建com.anji.captcha.service.CaptchaCacheService文件同时设置文件内容为:

1
com.ruoyi.framework.web.service.CaptchaRedisService
4.在SecurityConfig中设置aj-captcha匿名访问权限

在 ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java 文件中configure方法下的httpSecurity添加如下语句:

1
.antMatchers("/captcha/get""/captcha/check").anonymous()
5.修改后台实现代码

若依官方文档让修改 ruoyi-admincomruoyiwebcontrollersystemSysLoginController.java,如果使用的是我提到的若依版本,不用修改,官方的文档参考的若依版本可能比较低吧。。

大家在修改代码时,切记不要按照文档官方文档直接覆盖,建议使用文本比较工具将代码进行比对后只更新相关内容,这也是开发人员的良好习惯!!!!

修改ruoyi-frameworkcomruoyiframeworkwebserviceSysLoginService.java