Redis应用案例之共享session登录

导读:本篇文章讲解 Redis应用案例之共享session登录,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

概述

业务流程图

前端点击发送短信按钮,后端发送短信验证码流程图。

在这里插入图片描述
如上图所示,我们把登录验证码保存到redis,key为手机号,值为随机码。

短信验证码登录、注册

在这里插入图片描述
如上图,我们生成一个随机字符串作为登录token,以token作为redis的key保存到redis,同时把token返回给前端。
前端把token作为登录凭证,每次请求资源的时候都把token放入请求头中传入后端。

校验登录状态

在这里插入图片描述

登录状态校验使用拦截器

在这里插入图片描述
如上图所示,使用两个拦截器,拦截器1用来拦截一切路径,从请求头中获取登录token,从redis中查询出用户信息并保存到线程本地变量中,然后为登录session续租,最后放行。
拦截器2主要用于拦截需要登录后才能访问的资源,先检测线程变量中是否有用户信息,没有说明没有登录拦截,有说明已经登录了放行。
ThreadLocal是线程本地变量,之所以使用它,是因为首先web服务器给每个请求提供一个线程(通常tomcat提供200个并发线程),该线程完成请求需要的逻辑,因此处理请求的相关逻辑中使用的共享变量就可以放在ThreadLocal中;其次ThreadLocal是线程独有的,是线程安全的。

参考

Redis实现共享session登录

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/100024.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!