| @@ -87,7 +87,9 @@ public class HomeController extends BaseController { | |||||
| //生成图片验证码 | //生成图片验证码 | ||||
| BufferedImage image = producer.createImage(text); | BufferedImage image = producer.createImage(text); | ||||
| //保存到shiro session | //保存到shiro session | ||||
| ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text); | |||||
| // ShiroUtils.setSessionAttribute(Constants.KAPTCHA_SESSION_KEY, text); | |||||
| String key = Constant.captchaPrev + ":" + getIpAddr(); | |||||
| RedisCacheUtils.cache(redisTemplate, key, text, 60); | |||||
| logger.info("验证码接口-生成的验证码:{}", text); | logger.info("验证码接口-生成的验证码:{}", text); | ||||
| ServletOutputStream out = response.getOutputStream(); | ServletOutputStream out = response.getOutputStream(); | ||||
| @@ -100,17 +102,26 @@ public class HomeController extends BaseController { | |||||
| public ResultData login(@RequestBody MallUserInfo user, HttpServletResponse response) { | public ResultData login(@RequestBody MallUserInfo user, HttpServletResponse response) { | ||||
| String ipaddress = getIpAddr(); | String ipaddress = getIpAddr(); | ||||
| logger.debug("[" + ipaddress + "] HomeController::doLogin"); | logger.debug("[" + ipaddress + "] HomeController::doLogin"); | ||||
| try { | |||||
| String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY); | |||||
| logger.info("登录接口-验证码:{}", user.getCaptcha()); | |||||
| logger.info("登录接口-生成的验证码:{}", kaptcha); | |||||
| if(!user.getCaptcha().equalsIgnoreCase(kaptcha)){ | |||||
| return new ResultData(ErrorCode.KAPCHA_NOT_EQUAL); | |||||
| } | |||||
| } catch (MallinkException e) { | |||||
| logger.error("验证码" + e.getMessage()); | |||||
| return new ResultData(ErrorCode.KAPCHA_NOT_VALID.getCode(), e.getMessage()); | |||||
| // try { | |||||
| // String kaptcha = ShiroUtils.getKaptcha(Constants.KAPTCHA_SESSION_KEY); | |||||
| // logger.info("登录接口-验证码:{}", user.getCaptcha()); | |||||
| // logger.info("登录接口-生成的验证码:{}", kaptcha); | |||||
| // if(!user.getCaptcha().equalsIgnoreCase(kaptcha)){ | |||||
| // return new ResultData(ErrorCode.KAPCHA_NOT_EQUAL); | |||||
| // } | |||||
| // } catch (MallinkException e) { | |||||
| // logger.error("验证码" + e.getMessage()); | |||||
| // return new ResultData(ErrorCode.KAPCHA_NOT_VALID.getCode(), e.getMessage()); | |||||
| // } | |||||
| String key = Constant.captchaPrev + ":" + getIpAddr(); | |||||
| String code = RedisCacheUtils.getCacheString(redisTemplate, key); | |||||
| if (StringUtils.isBlank(code)) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码已过期"); | |||||
| } | } | ||||
| if (!code.equals(user.getCaptcha())) { | |||||
| return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(), "验证码不正确"); | |||||
| } | |||||
| if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword())) { | if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword())) { | ||||
| return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL); | ||||