package com.miaxis.config;
import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.Properties;
/**
* Kaptcha配置类
* 用于生成图形验证码
*/
@Configuration
public class KaptchaConfig {
/**
* 边框
*/
@Value("${kaptcha.border}")
private String border;
/**
* 边框颜色
*/
@Value("${kaptcha.border.color}")
private String borderColor;
/**
* 字体颜色
*/
@Value("${kaptcha.textproducer.font.color}")
private String textproducerFontColor;
/**
* 字体大小
*/
@Value("${kaptcha.textproducer.font.size}")
private String textproducerFontSize;
/**
* 字体样式
*/
@Value("${kaptcha.textproducer.font.names}")
private String textproducerFontNames;
/**
* 验证码长度
*/
@Value("${kaptcha.textproducer.char.length}")
private String textproducerCharLength;
/**
* 图片宽度
*/
@Value("${kaptcha.image.width}")
private String imageWidth;
/**
* 图片高度
*/
@Value("${kaptcha.image.height}")
private String imageHeight;
/**
* 存储的 Session Key
*/
@Value("${kaptcha.session.key}")
private String sessionKey;
/**
* 配置 Kapcha 参数
* @return
*/
@Bean
public DefaultKaptcha getDefaultKapcha() {
DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
Properties properties = new Properties();
properties.setProperty("kaptcha.border", border);
properties.setProperty("kaptcha.border.color", borderColor);
properties.setProperty("kaptcha.textproducer.font.color", textproducerFontColor);
properties.setProperty("kaptcha.textproducer.font.size", textproducerFontSize);
properties.setProperty("kaptcha.textproducer.font.names", textproducerFontNames);
properties.setProperty("kaptcha.textproducer.char.length", textproducerCharLength);
properties.setProperty("kaptcha.image.width", imageWidth);
properties.setProperty("kaptcha.image.height", imageHeight);
properties.setProperty("kaptcha.session.key", sessionKey);
//图片的干扰样式:默认存在无规则划线干扰
//无干扰:com.google.code.kaptcha.impl.NoNoise
//properties.setProperty("kaptcha.noise.impl","com.google.code.kaptcha.impl.NoNoise");
//图片干扰颜色:默认为黑色
properties.setProperty("kaptcha.noise.color", "black");
//图片渲染效果:默认水纹
// 水纹com.google.code.kaptcha.impl.WaterRipple
// 鱼眼com.google.code.kaptcha.impl.FishEyeGimpy
// 阴影com.google.code.kaptcha.impl.ShadowGimpy
properties.setProperty("kaptcha.obscurificator.impl",
"com.google.code.kaptcha.impl.ShadowGimpy");
Config config = new Config(properties);
defaultKaptcha.setConfig(config);
return defaultKaptcha;
}
}
mickey0380
- 粉丝: 2225
- 资源: 89
最新资源
- 手套手势检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 学生成绩链表处理-C语言实现学生成绩链表处理技术解析与应用
- html + css 淘宝网实战
- 手手势检测3-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- 通讯录排序-使用Python实现通讯录多规则排序方法
- 数据库概念设计ER图练习题.doc
- 使用aws的s3协议实现全部云管理的如cos,oss的对象存储文件上传案例
- 基于Java web SSM框架的实验室管理系统(源码+数据库).zip
- ER图练习题答案.doc
- JESD209-5C LPDDR5/5X JESD原版协议
- er图习题大全.docx
- 基于多个TCP连接的TCPserver转串口 可以实现通过注册包区分多个TCP连接,实现特定TCP连接和串口之间的数据转发
- 手机、钱包、笔记本检测34-YOLO(v5至v11)、COCO、CreateML、Paligemma、VOC数据集合集.rar
- 磁盘调度算法的Python实现及优化策略
- 已知A点到任意多边形距离最小,求该多边形最小距离点的坐标
- MyBatis中文帮助文档
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈