1.基于Session实现登录流程
发送验证码:
先前端校验,后端再校验(防小人),合法生成验证码(RandomUtil生成),后端保存,在通过短信去发送给用户
短信验证码登录和注册:
拿到验证码和手机号后,后端通过session(spring mvc注入)拿到验证码,进行校验,如果用户不存在则创建账号,保存到session中
校验登录
从cookie中拿到jsessionId到后端,后端通过jsessionId从session中拿到用户信息,没有用户信息则拦截,有就保存到threadLocal,然后放行
2.实现登录拦截
注册拦截器:
实现HandlerInterceptor
接口,重写preHandle(执行前生效)方法,拿到threadLocal中的身份去数据库里比较,如果null,返回401,否则放行
放入拦截器:
MvcConfig实现WebMvcConfigurer,放入登录拦截器,放行一些不需要登录的接口