SpringBoot + Spring Cloud +Vue 管理系统后台搭建(八、集成kaptcha实现登录验证码)

验证码案例 —— Kaptcha 插件介绍 后端生成验证码,前端展示并进行session验证(带完整前后端源码) 正常来说, 127.0.0.1:8080/index.html 和 localhost:8080/index.html 都可以,但是博主自己验证包括找了些其他博主验证,localhost:8080/index.html 访问的话是存在些许bug的,后端取session可能为空,原因是session没有设置。随着安全性的要求越来越⾼, ⽬前项⽬中很多都使⽤了验证码, 验证码的形式也是多种多样, 更复杂的图形验证码和行为验证码已经成为了更流⾏的趋势. 阅读详情

登录验证码我们用的kaptcha是一个开源的验证码库

第一步、添加pom依赖

在mango-admin的pom中添加kaptcha的maven依赖

<!--集成kaptcha-->
<dependency>
   <groupId>com.github.axet</groupId>
   <artifactId>kaptcha</artifactId>
   <version>0.0.9</version>
</dependency>

第二步、添加配置类

在config包下创建kaptchaConfig.java

/**
 * 验证码配置
 * @author Louis
 * @date Jan 14, 2019
 */
@Configuration
public class KaptchaConfig {

    @Bean
    public DefaultKaptcha producer() {
        Properties properties = new Properties();
        properties.put("kaptcha.border", "no");
        properties.put("kaptcha.textproducer.font.color", "black");
        properties.put("kaptcha.textproducer.char.space", "5");
        Config config = new Config(properties);
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }
}

第三步、生成代码

在mango-admin的controller中新建SysLoginLogController.java,编辑验证码生成接口

@RestController
@RequestMapping("loginlog")
public class SysLoginLogController {
   @Autowired
   private Producer producer;
@GetMapping("captcha.jpg")
public void captcha(HttpServletResponse response, HttpServletRequest request) throws ServletException, IOException {
   response.setHeader("Cache-Control", "no-store, no-cache");
   response.setContentType("image/jpeg");

   // 生成文字验证码
   String text = producer.createText();
   // 生成图片验证码
   BufferedImage image = producer.createImage(text);
   // 保存到验证码到 session
   request.getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, text);

   ServletOutputStream out = response.getOutputStream();
   ImageIO.write(image, "jpg", out);
   IOUtils.closeQuietly(out);
   }
}

到此已经配置完成,启动项目用swagger进行测试

如图说明已配置成功

实现验证码生成:Kaptcha插件实践指南 在实际部署中可能会遇到验证码图片不显示、验证码验证失败等问题,解决方案需要根据错误日志和具体情况进行排查,常见的解决方法包括:确保前后端时间同步,特别是在验证码过期时间的设置上。清除浏览器缓存或更新验证码图片。检查后端生成的验证码文本是否与前端提交的一致。 阅读详情

相关推荐

【操作系统】实验楼操作系统实验三——系统调用

操作系统实验3——系统调用 环境配置 ​ 首先同样是配置环境 cd /home/shiyanlou/oslab tar -zxvf hit-oslab-linux-20110823.tar.gz -C /home/shiyanlou 实验步骤 添加函数声明 cd ~/oslab/linux-0.11/include/linux gedit sys.h //添加内容: extern int sys_whoami(); extern int sys_iam(); fn_ptr_sys_call_table

qq_46612803的博客 6358

Kaptcha 使用教程

Kaptcha 使用教程

weixin_57467236的博客 8153

【学习笔记】人群归因分数 PAF 以及combined PAF

人群归因风险比例(Population Attributable Fraction,PAF)是一个流行病学指标,它估计了在总体中,如果能消除一个特定的危险因素,能预防多少百分比的疾病或健康结果。简单来说,PAF回答的是:“如果没有这个风险因素,总体中会有多少病例是可以避免的?

weixin_53499537的博客 4902

SpringBoot+Vue后台管理系统整合Kaptcha验证码

文章目录1、导入Kaptcha依赖2、配置Config类3、配置Controller4、Vue前端表单代码 1、导入Kaptcha依赖 <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> </dependency> 2、配置Conf

Code皮皮虾的博客 1641

SmsForwarder v6.4.0 + Flask API 实战:5步搭建手机验证码自动化接收服务

本文详细介绍了如何利用SmsForwarder v6.4.0和Flask API构建企业级验证码自动化处理系统。通过5个关键步骤,包括系统架构设计、Android端配置、Flask服务端实现、企业级部署方案以及实战应用场景扩展,帮助开发者高效处理短信验证码,提升自动化测试和数据采集的工作效率。

weixin_30292745的博客 393

Python趣学篇:用Pygame打造绚烂流星雨动画

这是一个基于Pygame开发的流星雨动画项目,具有以下特效:🌠多彩流星:8种不同颜色的流星随机生成,每颗都有独特的轨迹✨粒子尾迹:每个流星都带有动态的粒子拖尾效果,增强视觉冲击力🌟闪烁星空:150颗背景星星营造真实的夜空氛围🌌渐变背景:深蓝到黑色的自然渐变,模拟夜空色彩💫斜向轨迹:所有流星都以30-60度角自然斜向下运动🎨中文显示:完美支持中文字体,显示"斜向流星雨来啦!"等文字整个程序运行流畅,达到60FPS的丝滑体验,让你仿佛置身于真实的流星雨之中!

Code_流苏:在代码中寻诗意,在实践中觅真知 6061

Kaptcha(验证码)的认识与应用

Java 初学者的验证码生成工具

weixin_56703682的博客 4041

OpenClaw进阶实战(十二):电商比价工作流(一)——数据采集与竞品监控

本文介绍了基于OpenClaw的电商比价系统实现方案。该系统可自动化监控淘宝、京东、拼多多等平台的竞品价格波动,包含以下核心功能: 多平台价格采集:通过各平台官方API(淘宝客、京东联盟、多多进宝)获取商品价格,并提供模拟数据模式便于测试 数据存储与分析:使用SQLite存储历史价格数据,支持查询最近价格和价格变化趋势 模块化设计:采用技能化架构,分离了平台适配层(淘宝/京东/拼多多)、数据存储层和核心业务逻辑 扩展性:预留了价格波动告警接口(钉钉通知),为后续动态调价提供数据支撑 系统特点: 支持真实AP

PeterPan的博客 215

SpringBoot、Vue使用kaptcha实现验证码登录

1.导入kaptcha依赖坐标 一定要将servlet-api排除!不然会报错!!! <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>2.3.2</version> <exclusions> <exclusion&gt

XuHuan172的博客 1815

S32K144 UDSdoCAN 升级刷写实现笔记

本篇旨在描述如何开发“车规级”的软件升级程序,通过在S32K144平台上实现基于UDSdoCAN的刷写升级功能,带你一步步建立安全升级的“工程思维”,在这里既能收获经验还能获得工程源码、测试脚本,助你起飞,避坑提速!

汽车电子软件领域知识分享 811

基于STM32+ESP8266+手机 APP+阿里云的智能小车设计与实现(项目资料ID:4)

本研究旨在设计一款高度智能化的智能小车系统,通过集成 STM32 微控制器、ESP8266 无线模块、手机 APP 以及阿里云平台,实现环境数据实时采集、远程精准控制和高效的数据交互。详细阐述系统各部分的设计原理、实现过程和测试结果,验证系统在实际应用中的可行性和有效性,为智能小车在多领域的应用提供技术支持。

以培养嵌入式工程师为己任 1万+

SpringBoot整合Kaptcha 生成验证码

SpringBoot 整合 Kaptcha 实现 后台验证码问题 为什么要用验证码? 这个问题我以前也问过,当时我觉得验证码根本没啥用,就是一个摆设还浪费空间、时间,实则不然,小小验证码用途很大!它能够进行一次过滤,过滤掉那些机器人;用在注册可以防止机器注册是数据库爆炸,此外,也能够防止操作过于频繁。 为什么后端要实现验证码 验证码前端都可以实现为什么要用后端来?我某次再看帖子,这个帖子是这样子介绍的:前端验证码你可以理解为一层纱,后端验证码就是一栋墙,二者不在一个层次(可能不太准确)。学过一段爬虫,而且从

wxk的博客 477

1、深入解析OTA/gm - C滤波器架构与设计

本文深入探讨了OTA/gm-C滤波器的架构与设计方法,涵盖了从基本构建模块到高阶滤波器实现的多种技术。重点分析了双积分器环路结构(如Tow-Thomas和KHN滤波器)的工作原理、性能特点及OTA非理想特性对滤波器的影响,并介绍了降低寄生效应、提升动态范围的方法。文章还讨论了基于LC梯形仿真、多环反馈和电流模式的gm-C滤波器设计,以及自动调谐技术在频率稳定性中的应用。最后总结了不同类型gm-C滤波器的优缺点及其适用场景,为高频集成连续时间滤波器的设计提供了全面的技术参考。

fanta的博客 185

基于SpringBoot的在线考试系统源码+文档+讲解视频

摘要 随着线上教学与智慧校园建设的快速普及,传统线下考试模式存在组织成本高、考场安排繁琐、试卷资源浪费、阅卷统计效率低、成绩汇总滞后、考试数据分析薄弱等诸多问题。传统考试多依靠人工出题、纸质印刷、线下监考、人工阅卷、手工登记成绩的方式开展,流程繁琐、耗时耗力,容易出现阅卷误差、成绩登记错误、考试数据难以留存追溯等情况,难以满足常态化、高频次、高效率的校园随堂测试、课程考试、在线考核的教学需求。为简化考试流程、提升考核效率、实现考试数据规范化管理,本文设计并实现基于SpringBoot的在线考试系统。系统采用

全网粉丝10W+、全栈领域优质创作者、掘金、阿里云等社区博客专家、专注于全栈领域和毕业项目实战 32

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

vue + SpringBoot + Kaptcha + redis 配置登录验证码

文章目录前言一、导入jar包二、安装redis三、编写验证码配置四、编写redis的工具类五、编写UUID的工具类六、编写验证码的常量类七、编写Base64Utils类八、编写获取验证码控制器九、vue前端获取验证码十、结果图总结 前言 在写登录页面时,看很多的项目都会在登录中加入验证码这一功能,那就让我们来看看如何实现 一、导入jar包 <!-- redis --> <dependency> <groupId>org.springframework.boot

pukun888的博客 944

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

SpringBoot 整合 kaptcha实现验证码

SpringBoot 整合 kaptcha实现验证码前言一、添加依赖二、配置三、验证码的生成1.后端处理2.前端处理3.验证:四、验证码的验证1.后端处理2.前端处理3.验证五、总结 前言 谈起验证码这个话题,相信大家应该都很熟悉,在日常上网的时候经常会看到验证码的逻辑设计,比如登陆账号、论坛发帖、购买商品时网站都会要求用户在实际操作之前去输入验证码,验证码的生成规则或者展现形式也各不相同,但是这个设计确实已经存在于各大网站中,以下是百度百科中对它的定义: 验证码(CAPTCHA)是“Completely

Eternity_jie的博客 850

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringBoot——整合kaptcha生成图片验证码

在常见网站上,用户需要登录时,不仅仅需要验证用户账号,密码信息,同时,还需要验证验证码。验证码通常是一组特殊的字符串,字符长度通常在4-6位。那么验证码是如何生成的呢,接下来,我将为大家介绍如何用SpringBoot整合kaptcha生成验证码信息。 1Kaptcha 简介 Kaptcha 是一个可高度配置的实用验证码生成工具,可自由配置的选项如: 验证码的字体 验证码字体的大小 验证码字体的字体颜色 验证码内容的范围(数字,字母,中文汉字!) 验证码图片的大小,边框,边框粗细,边框颜色 验证码的干扰线.

contact97的博客 1144

使用kaptcha快速生成验证码

文章目录 kaptcha会员注册和登录: 第一步,在Maven仓库中引入Kaptcha依赖(注意将新的jar,进行发布) 第二步,在applicationContext.xml文件中配置Kaptcha 第三步,创建Controller类,生成Kaptcha代码,并输出到前端 kaptcha会员注册和登录: 一、kaptcha是什么? 二、使用步骤 第一步,在Maven仓库中引入Kaptcha依赖(注意将新的jar,进行发布) 第二步,在applicat...

m0_47119893的博客 6581

Kaptcha是什么,详细介绍

Kaptcha是什么,详细介绍

weixin_45428910的博客 1341

SpringBoot集成Kaptcha验证码生成器快速入门Demo

验证码(CAPTCHA):是 Completely Automated Public Turing test to tell Computers and Humans Apart(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。作用:可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。

mickey2007的博客 3967

使用 Kaptcha 生成验证码图片

本文将介绍如何在 Spring Boot 项目中使用 Kaptcha 生成验证码图片,并演示如何自定义验证码的内容、字体、扭曲程度等设置。Kaptcha 的 Constants 类是一个包含许多常量的类,用来管理验证码生成过程中所涉及的一些常用配置项。Kaptcha 是一个轻量级的 Java 库,能够生成各种类型的验证码图片,广泛应用于 Web 系统中。通过引用这些常量,能够使配置更加规范并减少错误。通过使用这些常量配置,我们不仅避免了硬编码,还能统一管理和调整验证码的设置,提升代码的可维护性和可读性。

qq_50134188的博客 1629

Kaptcha——图片验证码生成工具

Kaptcha 是一个Google开源、可自由配置的图片验证码生成工具,可以根据属性来设置自己想要的基本意义上的验证码

weixin_61974247的博客 2306

验证码案例

验证码项目、前端、后端

qq_64656621的博客 1211

Spring Boot整合Kaptcha实现验证码功能

Spring Boot整合Kaptcha实现验证码功能

12程序猿的博客 1693

Kaptcha的基本应用

Kaptcha

qq_53333731的博客 580

一个开源好用的java验证码框架

提供的验证码工具是一个轻量级的 Java 库,常用于生成图形验证码。这个库基于 Kaptcha 开发,旨在为开发者提供更加简便、灵活的验证码生成与集成方法,主要用于 Java Web 应用中。

qyhua的专栏 2858
上一篇: SpringBoot + Spring Cloud +Vue 管理系统后台搭建(七、业务代码通用CURD实现)
下一篇: SpringBoot + Spring Cloud +Vue 管理系统后台搭建(九、用户认证和授权)
Java程序之猿
博客等级 码龄9年 2599粉丝 140原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值