首页 > 其他分享 >SpringBoot框架下shiro与jwt的结合的用户登录

SpringBoot框架下shiro与jwt的结合的用户登录

时间:2023-02-02 08:58:01浏览次数:40  
标签:refreshToken SpringBoot 登录 过期 jwt 用户 token shiro

写了一次使用 shiro 和 jwt 的用户登录(没有涉及到用户权限的控制),下面进行很简单的技术总结

之前使用的是 Redis 中保存用户信息,使用 uuid-用户信息的键值对来判断用户登录

现在可以通过 shiro 来控制用户登录,使用 jwt 进行 no-session 方式进行验证登录,通过 jwt 同时生成用于用户刷新的 refreshtoken 和 token 来进行用户单点的验证(shiro 也有单点的验证功能)


我简单的总结了一下
用户登录分为下面几种情况

  1. 浏览界面时 token 未过期

    正常浏览

  2. 浏览界面时 token 过期,refreshToken 没有过期

    正常浏览,返回新的 token,生成新的 refreshToken

  3. 浏览界面时 token 过期,refreshToken 过期

    返回登录界面,清除 cookie 中的 token

  4. 登录时 token 未过期

    正常登录

  5. 登录时 token 过期,refreshToken 没有过期

    正常浏览,返回新的 token,生成新的 refreshToken

  6. 登录时 token 过期,refreshToken 过期

    通过数据库判断用户信息

  7. 浏览时 token 未过期但与 refreshToken 不匹配

    重新登录

  8. 登录时 token 未过期但与 refreshToken 不匹配

    通过数据库判断用户信息

其他的话 shiro 和 jwt 的配置就写了这么 5 个,基本上搜索一下都能写出来
image.png
值得提一下的是 shiro 会拦截 js,css 这些文件,需要在配置 shiroConfig 中放行,还有就是把添加的 filter 写在最下面
还是很简单的,是我太菜了


今日诗词

标签:refreshToken,SpringBoot,登录,过期,jwt,用户,token,shiro
From: https://www.cnblogs.com/tuzichun/p/17079105.html

相关文章

  • python jwt
    jwt->jsonwebtoken一般用于前后端分离项目的用户认证。传统校验需要把token保存在服务端。而jwt不会保存在服务端,通过客户端给的token和算法进行验证。jwt包括三段......
  • SpringBoot学习笔记 - 构建、简化原理、快速启动、配置文件与多环境配置、技术整合案
    【前置内容】Spring学习笔记全系列传送门:Spring学习笔记-第一章-IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入)Spring学习笔记-第二章-注解......
  • springboot测试controller类
    测试代码packagecom.demo.controller;importlombok.extern.slf4j.Slf4j;importorg.junit.Before;importorg.junit.Test;importorg.junit.runner.RunWith;impor......
  • springboot导入和导出.xlsx
    以这个为例:这个主要是用到了这个https://www.hutool.cn/docs/#/poi/Excel%E7%94%9F%E6%88%90-ExcelWriter加入依赖<!--导入导出依赖--><dependency>......
  • 过滤器(springboot)
    实现步骤:1、创建自定义过滤器LoginCheckFilter2、在启动类上加入注解@ServletComponentScan3、完善过滤器的处理逻辑②:定义Spring管理的类(接口) @Slf4j@SpringBootAppl......
  • springboot~WebMvcConfigurer详解
    1.前言WebMvcConfigurer配置类其实是Spring内部的一种配置方式,采用JavaBean的形式来代替传统的xml配置文件形式进行针对框架个性化定制,可以自定义一些Handler,Interceptor......
  • springboot+webSocket
    1、新建WebSocketConfig配置类packagecom.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configurat......
  • SpringBoot整合druid数据源
    SpringBoot默认使用HikariDataSource,但也可以整合外部DataSource。下面介绍SpringBoot_Druid整合整合有两种方式:1、starter整合 2、自定义整合1、starter整合2、自定......
  • Spring Security、Oauth2与JWT
    SpringSecurity、Oauth2与JWT安全框架基础认证、会话与授权用户身份认证:用户身份认证即用户去访问系统资源时系统要求验证用户的身份信息,身份合法方可继续访问。常见的......
  • SpringBoot 前端大文件上传
    ​ 最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。在某些业务中,大文件上传是一个比较重要的......