【Redis】用户登录校验

对于用 redis 对用户进行登录校验,大致可分为以下六步:

  1. 首先通过查询数据库来查找具有提供的用户名、密码和delFlag值为0的用户。
  2. 如果未找到用户,则抛出一个带有消息"用户不存在"的ClientException(用户不存在)。
  3. 然后检查用户是否已经登录,通过验证Redis缓存中名为"Login_username"的键是否存在来判断。
  4. 如果发现用户已经登录,则抛出一个带有消息"用户已登录"的ClientException(用户已登录)。
  5. 如果用户尚未登录,则生成一个UUID(唯一标识符)并将其与用户信息一起存储在Redis缓存中的键"Login_username"下。
  6. 为此缓存条目设置了30分钟的过期时间。

1.注入redisTemplate

redisTemplate是Spring Data Redis提供的一个用于操作Redis的模板类。它封装了对Redis的常见操作,如设置值、获取值、删除值等,简化了与Redis交互的过程。通过redisTemplate,开发人员可以方便地在Spring应用中使用Redis,而不必关心底层的Redis连接和操作细节。同时,redisTemplate还提供了一些高级功能,如事务支持、管道操作等,使得对Redis的操作更加灵活和高效。

2.定义查询条件

2.1数据库查询

用户登录时,都会输入用户名和密码,这时后端接收用户输入的数据,然后去数据库中查找对应的数据

2.2查询为空

如果在数据库中没有找到对应的信息,则证明用户还没注册,抛出异常

2.3判断是否已登录

如果在数据库中找到对应的信息,则证明用户注册过了。然后需要判断一下用户是否已经是登录状态,避免被别人再次登录

我们可以在 redis 缓存中查询是否含有登录时所输入的用户名,如果有,则用户已经是登录状态,不可进行再次登录

2.4生成唯一标识

如果在 redis 缓存中没有查询到登录时所输入的用户名,则用户是未登录状态,则生成一个UUID(唯一标识符)并将其与用户信息一起存储在Redis缓存中的键"Login_username"下

3.用户退出登录

先判断用户是否在登录状态,只有在登录状态时,才允许进行退出操作

如果在登录状态,则退出后就删除 redis 缓存中对应的用户名

如果在未登录状态,则抛出异常

相关推荐

  1. SpringBoot项目集成Redis+JWT实现系统登录token校验

    2024-05-11 06:54:03       22 阅读
  2. vue3——登录校验

    2024-05-11 06:54:03       27 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-11 06:54:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-11 06:54:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-11 06:54:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-11 06:54:03       18 阅读

热门阅读

  1. 未来趋势系列 篇一:AI主题全景分析和股票梳理

    2024-05-11 06:54:03       7 阅读
  2. iOS AppDelegate瘦身

    2024-05-11 06:54:03       8 阅读
  3. 常用的启发式算法:探索问题解决的智慧之道

    2024-05-11 06:54:03       9 阅读
  4. XMLHttpRequest与Axios详解

    2024-05-11 06:54:03       11 阅读
  5. React 之 forwardRef用法(十六)

    2024-05-11 06:54:03       8 阅读
  6. DNS-域名系统

    2024-05-11 06:54:03       7 阅读
  7. SearXNG - 一个注重隐私的互联网元搜索引擎

    2024-05-11 06:54:03       9 阅读
  8. ubuntu中运行c# winform程序

    2024-05-11 06:54:03       10 阅读
  9. TensorFlow与PyTorch:哪个更适合深度学习项目?

    2024-05-11 06:54:03       11 阅读
  10. CentOS常见命令

    2024-05-11 06:54:03       10 阅读
  11. AI智能体|智谱清言开放了智能体API

    2024-05-11 06:54:03       10 阅读