Unverified Commit 40177c6c authored by kdjj2006's avatar kdjj2006 Committed by GitHub
Browse files

获取验证码逻辑,无需加锁,不涉及线程安全问题,提高效率 (#755)

parent 255a3254
...@@ -68,33 +68,31 @@ public class LoginProperties { ...@@ -68,33 +68,31 @@ public class LoginProperties {
*/ */
private Captcha switchCaptcha(LoginCode loginCode) { private Captcha switchCaptcha(LoginCode loginCode) {
Captcha captcha; Captcha captcha;
synchronized (this) { switch (loginCode.getCodeType()) {
switch (loginCode.getCodeType()) { case ARITHMETIC:
case ARITHMETIC: // 算术类型 https://gitee.com/whvse/EasyCaptcha
// 算术类型 https://gitee.com/whvse/EasyCaptcha captcha = new FixedArithmeticCaptcha(loginCode.getWidth(), loginCode.getHeight());
captcha = new FixedArithmeticCaptcha(loginCode.getWidth(), loginCode.getHeight()); // 几位数运算,默认是两位
// 几位数运算,默认是两位 captcha.setLen(loginCode.getLength());
captcha.setLen(loginCode.getLength()); break;
break; case CHINESE:
case CHINESE: captcha = new ChineseCaptcha(loginCode.getWidth(), loginCode.getHeight());
captcha = new ChineseCaptcha(loginCode.getWidth(), loginCode.getHeight()); captcha.setLen(loginCode.getLength());
captcha.setLen(loginCode.getLength()); break;
break; case CHINESE_GIF:
case CHINESE_GIF: captcha = new ChineseGifCaptcha(loginCode.getWidth(), loginCode.getHeight());
captcha = new ChineseGifCaptcha(loginCode.getWidth(), loginCode.getHeight()); captcha.setLen(loginCode.getLength());
captcha.setLen(loginCode.getLength()); break;
break; case GIF:
case GIF: captcha = new GifCaptcha(loginCode.getWidth(), loginCode.getHeight());
captcha = new GifCaptcha(loginCode.getWidth(), loginCode.getHeight()); captcha.setLen(loginCode.getLength());
captcha.setLen(loginCode.getLength()); break;
break; case SPEC:
case SPEC: captcha = new SpecCaptcha(loginCode.getWidth(), loginCode.getHeight());
captcha = new SpecCaptcha(loginCode.getWidth(), loginCode.getHeight()); captcha.setLen(loginCode.getLength());
captcha.setLen(loginCode.getLength()); break;
break; default:
default: throw new BadConfigurationException("验证码配置信息错误!正确配置查看 LoginCodeEnum ");
throw new BadConfigurationException("验证码配置信息错误!正确配置查看 LoginCodeEnum ");
}
} }
if(StringUtils.isNotBlank(loginCode.getFontName())){ if(StringUtils.isNotBlank(loginCode.getFontName())){
captcha.setFont(new Font(loginCode.getFontName(), Font.PLAIN, loginCode.getFontSize())); captcha.setFont(new Font(loginCode.getFontName(), Font.PLAIN, loginCode.getFontSize()));
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment