【SpringBoot】Shiro实现无状态登录

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【SpringBoot】Shiro实现无状态登录相关的知识,希望对你有一定的参考价值。

参考技术A 使用Shiro实现有状态登录,即用户登录状态存储在服务器Session中,使用Shiro实现比较简单,我这里暂不进行讨论。
在一些环境中,可能需要把 Web 应用做成无状态的,即服务器端无状态,就是说服务器端不会存储像Session这种东西,而是每次请求时带上token之类的进行用户判断。
使用Shiro实现无状态登录的主要步骤有,禁用缓存、设置不创建session、关闭Session验证、关闭Session存储、注入自定义拦截器、开启Shiro的注解(如@RequiresRoles,@RequiresPermissions)等。

获取token,这里token写死为admin

添加增删改查接口,并设置需要的访问权限

关键是设置不创建Session

主要功能就是拦截http请求,进行认证授权,注意不要拦截登录请求

在StatelessAuthcFilter拦截器中,会调用StatelessRealm进行token认证及用户授权。
我这里设置token为admin时拥有增删改查的权限。
token为user时,只拥有查的权限。
其他token,无任何权限。

主要是禁用缓存、不创建Session、关闭Session验证、关闭Session存储、注入配置拦截器、开启权限校验注解等。

以上是关于【SpringBoot】Shiro实现无状态登录的主要内容,如果未能解决你的问题,请参考以下文章

springboot,vue,shiro整合 关于登录认证功能

前后端分离项目中 springboot 集成 shiro 实现权限控制

SpringBoot+Shiro框架整合实现前后端分离的权限管理基础Demo

springboot整合shiro实现登录验证授权

springboot集成shiro实现用户登录认证

springboot整合shiro实现登录认证以及授权