SpringBoot 登录模块的主要流程

2018-04-23  本文已影响0人  totohui

一:前端

表单里有mobile和password,注意password需要一个公用的盐值加密传输,通过ajax发送到服务器

二:LoginController

注入UserService, 调用userService.login(response, loginVo);

return Result.success(true);

因为login里的验证失败会直接抛出异常

三:UserService

判断LoginVO是否为空,空抛出异常GlobalException(CodeMsg.SERVER_ERROR), 注意通用全局异常继承RuntimeException;

判断手机号是否存在,不存在抛出GlobalException(CodeMsg.MOBILE_NOT_EXIST)

验证密码,需先拿到数据库里的salt

生成cookie

****** 分布式session ******

生成一个token,将登录成功的用户信息写入到redis,并同时写入到cookie,返回给客户端,注意cookie的过期时间需要和写入到redis的缓存一致。

四:通用全局异常处理器

拿到GlobalException里的codeMsg, 封装Result.error(codeMsg)并返回;

上一篇下一篇

猜你喜欢

热点阅读