Redis的出现

64d348b514cedd09d768c8cf8f337da1c37c3fed

3cc6542bf20264efab8c16aef067dd0d849b6547

用string还是hash?
810dfa52a7d8ecdeffb678f40415b4dfc6775224

35f61ae4073d1729958468b54aaa7c7c85557981

首先, 我们将session换成redis,
登录接口的过程中有前端发来基本信息, 我们进行校验完毕后
检查是否有该用户,(无则create)
然后生成uuid, 将User—>UserDTO—->userMap,存入redis

由于登录之后各种操作都需要验证以确保在登录状态访问数据,
但是如果在每个操作都添加认证,会冗余.
因此我们把认证操作放在拦截其中,
然后拆解userMap—->userDTO

当一个类不是spring管理的bean时,
他所依赖的对象(成员变量)都不能靠spring自动完成依赖注入,
但我们可以在其构造方法的形参上传递所需要的成员变量
然后在其构造方法中赋值给成员变量
7435681122d52431426f83884ef7690237a1ee97

4d1597936bc98a516bbd4fb4de50fa8438c46358

登录状态下的所有操作都得走LoginInterceptor
(原先我们把刷新token过期时间放在这里了,那无需登录的就不必刷新了吗?)

那一些不需要登录的操作呢?

因此我们加一层拦截器拦截所有操作(主要目的是为了刷新,
但是其实也可以移交LoginInterceptor的功能,
即保存当前redis用户到threadlocal)
这样只需要在login检查threadlocal有没得user

1cf14db2e73399cec36438f74e67ff8ad6a818cf