聚焦快递领域
首先第一个是验证码模块流程
首先生成验证码的流程
可以使用工具类去生成验证码
LineCaptcha lineCaptcha = CaptchaUtil.createLineCaptcha(160, 60, 4, 26);
// 获取值然后存入redis中
stringRedisTemplate.opsForValue().set(CAPTCHA_KEY_PREFIX + key, lineCaptcha.getCode(), Duration.ofMinutes(1));
//3. 输出到页面,设置页面不缓存
//3. 输出到页面,设置页面不缓存
response.setHeader(HttpHeaders.PRAGMA, "No-cache");
response.setHeader(HttpHeaders.CACHE_CONTROL, "No-cache");
response.setDateHeader(HttpHeaders.EXPIRES, 0L);
lineCaptcha.write(response.getOutputStream());
登录接口
登录是post方式,那么提交的数据根据接口文档去确定
然后有一个key是redis的key,需要前端携带到后端,这个隐藏起来
然后前端提交就3个参数
权限管家
使用权限管家进行登录业务操作
使用
Result<LoginDTO> result = authTemplate.opsForLogin().token(account, password);
if (ObjectUtil.equal(result.getCode(), 0)) {
return R.success(result.getData());
}
return R.error(result.getMsg());
使用组件
因为权限管家使用的是 非对称加密的方式.所以需要有公钥进行解密