开课吧-AI算法落地与工程部署实战
如果你是Maven开发者,使用起来非常便利,我的项目的保护人员已经将依赖推送至地方仓库。只需要引入依赖就实现了90%的工作量。接下来只需要在登录接口中进行二次考据就可能了。
我的项目集成了包含html、vue、flutter、uni-app、Android Kotlin、IOS、php等多种前端语言,可能轻松将AJ_Captcha集成到我的项目中。
接下来咱们以Spring Boot+html为例看看如何疾速集成AJ_Captcha实现行为考据码的交互流程。
第一步、Spring Boot中引入AJ_Captcha依赖
com.anji-plusspring-boot-starter-captcha1.2.9
复制代码
AJ_Captcha默认实现了考据码生成和考据接口,考据码生成接口的默认请求地址是/captcha/get,考据接口的默认请求地址为/captcha/check。也就是说实现以上步骤,就可能提供应前端获取和考据考据码的接口了。如果你还想让你的考据码生成的共性一点,可能配置以下属性:
滑动考据,底图路径,不配置将使用默认图片
反对全路径
反对我的项目路径,以classpath:结尾,取resource目录下路径,例:classpath:images/jigsaw
aj.captcha.jigsaw=classpath:images/jigsaw
滑动考据,底图路径,不配置将使用默认图片
反对全路径
反对我的项目路径,以classpath:结尾,取resource目录下路径,例:classpath:images/pic-click
aj.captcha.pic-click=classpath:images/pic-click
对于分布式部署的利用,咱们倡导利用自己实现CaptchaCacheService,比如用Redis或者memcache,
参考CaptchaCacheServiceRedisImpl.java
如果利用是单点的,也没有使用redis,那默认使用内存。
内存缓存只适合单节点部署的利用,否则考据码生产与考据在节点之间信息不同步,导致失败。
!!! 注意啦,如果利用有使用spring-boot-starter-data-redis,
请打开CaptchaCacheServiceRedisImpl.java正文。
redis -----> SPI: 在resources目录新建META-INF.services文件夹(两层),参考以后服务resources。
缓存local/redis...
aj.captcha.cache-type=local
local缓存的阈值,达到这个值,清除缓存
aj.captcha.cache-number=1000
local定时清除过期缓存(单位秒),设置为0代表不执行
aj.captcha.timing-clear=180
spring.redis.host=10.108.11.46
spring.redis.port=6379
spring.redis.password=
spring.redis.database=2
spring.redis.timeout=6000
考据码类型default两种都实例化。
aj.captcha.type=default
汉字对立使用Unicode,保障程序通过@value读取到是中文,可通过这个在线转换;yml格局不需要转换
https://tool.chinaz.com/tools... 中文转Unicode
右下角水印文字(我的水印)
aj.captcha.water-mark=\u6211\u7684\u6c34\u5370
右下角水印字体(不配置时,默认使用文泉驿正黑)
因为宋体等涉及到版权,咱们jar中内置了开源字体【文泉驿正黑】
形式一:间接配置OS层的现有的字体名称,比如:宋体
形式二:自定义特定字体,请将字体放到工程resources下fonts文件夹,反对ttf\ttc\otf字体
aj.captcha.water-font=WenQuanZhengHei.ttf
点选文字考据码的文字字体(文泉驿正黑)
aj.captcha.font-type=WenQuanZhengHei.ttf
校验滑动拼图容许误差偏移量(默认5像素)
aj.captcha.slip-offset=5
aes加密坐标开启或者禁用(true|false)
aj.captcha.aes-status=true
滑动烦扰项(0/1/2)
aj.captcha.interference-options=2
aj.captcha.history-data-clear-enable=false
接口请求次数一分钟限度是否开启 true|false
aj.captcha.req-frequency-limit-enable=false
考据失败5次,get接口锁定
aj.captcha.req-get-lock-limit=5
考据失败后,锁定工夫间隔,s
aj.captcha.req-get-lock-seconds=360
get接口一分钟内请求数限度
aj.captcha.req-get-minute-limit=30
check接口一分钟内请求数限度
aj.captcha.req-check-minute-limit=60
verify接口一分钟内请求数限度
aj.captcha.req-verify-minute-limit=60
复制代码
第二步、前端伪代码调用接口
引入考据码的样式以及考据等文件
考据码获取及考据
复制代码
考据码考据胜利之后,会返回一个用于二次考据的串码。
第三步,用户登录,二次考据
客户端登录的时候携带考据胜利后返回的串码,在登录接口中进行二次考据,考据流程完毕。
@Autowired
private CaptchaService captchaService;
/**
- 页面获取token
- 大屏数据校验
- @param user
- @return
*/
@PostMapping("getWebToken")
public ResultBean getWebToken(@RequestBody LoginUser user,String captchaVerification){
ResultBean resultBean = new ResultBean();CaptchaVO captchaVO = new CaptchaVO();captchaVO.setCaptchaVerification(captchaVerification);ResponseModel responseModel = captchaService.verification(captchaVO);if(!responseModel.isSuccess()){ resultBean.fillCode(0,responseModel.getRepMsg()); return resultBean;}// 考据通过后,持续登录流程
}
复制代码
明天的内容就介绍到这里了,趁这个机会,试着使用这款高颜值的行为考据码来替换我的项目中的图形考据码吧。
download