master
董丁丁 4 years ago
parent efa775352d
commit e02ddea347

@ -54,7 +54,7 @@ public class SysLoginController extends BaseController {
public AjaxResult login(@RequestBody LoginBody loginBody) {
AjaxResult ajax = AjaxResult.success();
// 生成令牌
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(),loginBody.getUuid());
String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(),loginBody.getUuid(),loginBody.getCode());
ajax.put(Constants.TOKEN, token);
return ajax;
}

@ -7,6 +7,11 @@ package com.ruoyi.common.core.domain.model;
*/
public class LoginBody
{
/**
*
*/
private String code;
/**
*
*/
@ -60,7 +65,13 @@ public class LoginBody
this.password = password;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getUuid()
{

@ -55,14 +55,14 @@ public class SysLoginService
* @param uuid
* @return
*/
public String login(String username, String password, String uuid)
public String login(String username, String password, String uuid,String code)
{
boolean captchaOnOff = configService.selectCaptchaOnOff();
// 验证码开关
// if (captchaOnOff)
// {
// validateCaptcha(username, uuid);
// }
if (captchaOnOff)
{
validateCaptcha(username, code, uuid);
}
// 用户验证
Authentication authentication = null;
try
@ -99,22 +99,22 @@ public class SysLoginService
* @param uuid
* @return
*/
// public void validateCaptcha(String username, String uuid)
// {
// String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
// String captcha = redisCache.getCacheObject(verifyKey);
// redisCache.deleteObject(verifyKey);
// if (captcha == null)
// {
// AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
// throw new CaptchaExpireException();
// }
// if (!code.equalsIgnoreCase(captcha))
// {
// AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
// throw new CaptchaException();
// }
// }
public void validateCaptcha(String username, String code, String uuid)
{
String verifyKey = Constants.CAPTCHA_CODE_KEY + uuid;
String captcha = redisCache.getCacheObject(verifyKey);
redisCache.deleteObject(verifyKey);
if (captcha == null)
{
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire")));
throw new CaptchaExpireException();
}
if (!code.equalsIgnoreCase(captcha))
{
AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
throw new CaptchaException();
}
}
/**
*

Loading…
Cancel
Save