为什么要实现单点登入
一般对于业务方法都需要用户登入才能请求,如果每个方法都去判断用户是否登入太麻烦,可以使用拦截器对所有请求进行统一的登入状态判断。文章来源:https://www.toymoban.com/news/detail-548429.html
实现方式
- 登入时使用随机生成算法例如UUID生成随机token
- 将redis的hash数据结构进行存储,并设置过期时间,例如:
user:login:token:9b6a2e6e026a46839a1f6f1d8bb15b7b userId 123 username zhangsan 保存用户的相关字段是为了如果有些请求需要获取当前登入用户的信息,可以根据用户ID查询数据库
- 登入成功后将token返回给前端
拦截器的实现
前端所有请求必须在请求头里加上token
对于某些请求不需要拦截,例如登入请求,静态资源请求
后端拦截业务请求,从请求头里获取token,拼接成key请求redis查询,若为空则拦截,不为空则刷新token的过期时间,放行文章来源地址https://www.toymoban.com/news/detail-548429.html
到了这里,关于使用redis + 随机token 实现单点登入思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!