使用redis + 随机token 实现单点登入思路

这篇具有很好参考价值的文章主要介绍了使用redis + 随机token 实现单点登入思路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么要实现单点登入

一般对于业务方法都需要用户登入才能请求,如果每个方法都去判断用户是否登入太麻烦,可以使用拦截器对所有请求进行统一的登入状态判断。

实现方式

  1. 登入时使用随机生成算法例如UUID生成随机token
  2. 将redis的hash数据结构进行存储,并设置过期时间,例如:
  							user:login:token:9b6a2e6e026a46839a1f6f1d8bb15b7b
  							 userId     123
  							username   zhangsan
  保存用户的相关字段是为了如果有些请求需要获取当前登入用户的信息,可以根据用户ID查询数据库
  1. 登入成功后将token返回给前端

拦截器的实现

前端所有请求必须在请求头里加上token
对于某些请求不需要拦截,例如登入请求,静态资源请求
后端拦截业务请求,从请求头里获取token,拼接成key请求redis查询,若为空则拦截,不为空则刷新token的过期时间,放行文章来源地址https://www.toymoban.com/news/detail-548429.html

到了这里,关于使用redis + 随机token 实现单点登入思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • idea连接登入GitHub账号提示:access token should have `repo` and `gist` scope

    idea连接登入GitHub账号(使用token连接登入)的时候出现提示: 解答一下现在说不行的同学的问题哈~ 首先你要确认,你本地是否安装了git,然后先用命令行确认本地配置连接git是没有问题的情况下,在进行idea环境的配置 1 删除token-重新去新建一个新的有效token令牌: 设置路径

    2024年02月13日
    浏览(45)
  • Springboot+redis实现token的登录认证

    1.在用户登录后,如果要访问其他路径下的资源的话,我们是否还需要再验证一遍呢?而且我们登陆上系统长时间不操作的话还需不需要再次验证?所以这种情况下就很需要token来实现登录功能。并通过redis(redis是一个key-value存储系统,它支持存储的value类型相对更多,包括

    2023年04月09日
    浏览(96)
  • 【SpringCloud Gateway】SpringCloud各微服务之间用户登录信息共享的实现思路——gateway网关token校验以及向微服务发送请求携带token

            最近在学习SpringCloud项目时,想到了一些问题,各个微服务分别部署在不同的服务上,由naocs作为注册中心实现负载均衡,彼此之间通过Feign相互调用通信,信息同步并不像单体项目那样方便,传统单体项目的登录验证方式似乎在SpringCloud中不能满足项目的需求。那么

    2024年02月05日
    浏览(46)
  • 使用Nodejs搭建HTTP服务,并实现公网远程访问Redis数据库「内网穿透」

    转载自cpolar极点云文章:公网远程连接Redis数据库「内网穿透」 Redis作为一款高速缓存的key value键值对的数据库,在许许多多的场景中广泛使用,由于是把数据存储在内存中,所以读写效率极高。 下面介绍如何在内网虚拟机的linux中搭建redis并通过cpolar内网穿透实现公网访问 进入

    2024年02月13日
    浏览(43)
  • 在Spring中,可以使用不同的方式来实现分布式锁,例如基于数据库、Redis、ZooKeeper等

    在Spring中,可以使用不同的方式来实现分布式锁,例如基于数据库、Redis、ZooKeeper等。下面是两种常见的实现方式: 使用Redis实现分布式锁: 使用自定义注解实现本地锁: 以上是两种常见的在Spring中实现分布式锁的方式。第一种方式使用Redis作为分布式锁的存储介质,通过

    2024年03月17日
    浏览(45)
  • Redis实战案例14-分布式锁的基本原理、不同实现方法对比以及基于Redis进行实现思路

    基于数据库的分布式锁:这种方式使用数据库的特性来实现分布式锁。具体流程如下: 获取锁:当一个节点需要获得锁时,它尝试在数据库中插入一个特定的唯一键值(如唯一约束的主键),如果插入成功,则表示获得了锁。 释放锁:当节点完成任务后,通过删除该唯一键

    2024年02月13日
    浏览(50)
  • Spring Boot 中如何使用 Spring Security OAuth2 来实现单点登录

    在现代 Web 应用程序中,单点登录(Single Sign-On,简称 SSO)是一个非常重要的功能。Spring Security OAuth2 是 Spring Security 框架的一个扩展,它提供了一种简单的方式来实现 SSO。在本文中,我们将介绍如何在 Spring Boot 应用程序中使用 Spring Security OAuth2 来实现单点登录。 在开始之前

    2024年02月06日
    浏览(45)
  • CaffeineCache+Redis 接入系统做二层缓存思路实现(借鉴 mybatis 二级缓存、自动装配源码)

    现在手上有个系统写操作比较少,很多接口都是读操作,也就是写多读少,性能上遇到瓶颈了,正所谓前人栽树、后人乘凉,原先系统每次都是查数据库的,性能比较低,如果先查 redis,redis 没数据再查数据库的话,但是还可以更快,那就是使用内存查询,依次按照内存、

    2024年02月09日
    浏览(42)
  • Redis多机数据库实现

    为《Redis设计与实现》笔记 客户端可以使用 SLAVEOF 命令将指定服务器设置为该服务器的主服务器 127.0.0.1:6379 将被设置为 127.0.0.1:123456 的主服务器 旧版复制功能的实现 Redis的复制功能分为同步(sync)和命令传播(command propagate)两个阶段 同步:将从服务器的数据库状态更新至

    2024年02月09日
    浏览(46)
  • 【微信小程序】实现授权登入---超详细讲解

               微信授权登录是指在使用某些第三方网站或应用时,用户可以选择使用自己的微信账号进行登录和验证身份。通过微信授权登录,用户可以免去繁琐的注册流程,只需点击授权按钮,即可使用自己的微信账号进行登录。当用户选择使用微信授权登录时,他们会

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包