【springboot】shiro实现无状态登录

author author     2023-04-11     423

关键词:

参考技术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实现登录授权认证

1、Shiro是Apache下的一个开源项目,我们称之为ApacheShiro。它是一个很易用与Java项目的的安全框架,提供了认证、授权、加密、会话管理,与springSecurity一样都是做一个权限的安全框架,但是与SpringSecurity相比,在于Shiro使用了比较... 查看详情

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

文章目录​​使用注解控制鉴权授权​​​​使用url配置控制鉴权授权​​​​表结构​​​​jar包依赖​​​​代码说明​​​​身份认证​​​​权限认证​​​​跨域问题解决​​​​登录验证不进行重定向改为设置http... 查看详情

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

首先是session问题传统session认证http协议是一种无状态协议,即浏览器发送请求到服务器,服务器是不知道这个请求是哪个用户发来的。为了让服务器知道请求是哪个用户发来的,需要让用户提供用户名和密码来进行认证。当浏览... 查看详情

shiro安全框架springboot版(代码片段)

...权示例2.5、密码加密2.5.1、使用Shiro进行加密三、Shiro整合SpringBoot3.1、整合依赖3.2、yml配置文件3.3、创建目录结构3.4、创建数据库3.5、创建对应的类3.6、创建Shiro配置类3.6.1、自定义Shiro配置类3.6.2、自定义Shiro拦截范围3.7、测试3.8... 查看详情

springboot+shiro+jwt实现登录认证——最干的干货(代码片段)

1.概述1.1SpringBoot这个就没什么好说的了,能看到这个教程的,估计都是可以说精通了SpringBoot的使用1.2Shiro一个安全框架,但不只是一个安全框架。它能实现多种多样的功能。并不只是局限在web层。在国内的市场份额占... 查看详情

springboot整合shiro实现登录认证与权限控制

本文首发于:https://antoniopeng.com用户角色权限数据库设计数据库这里以MySQL为例创建数据库所需表如下:user:用户表role:角色表perm:权限菜单表user_role:用户与角色关联的中间表role_prem:角色与权限菜单关联的中间表执行数据... 查看详情

springboot项目中使用shiro实现用户登录以及权限的验证(代码片段)

1、建立springboot项目目录结构这个样子的<hr>2、项目的jar包依赖<dependencies><!--整合shirosubject:用户securitymanager:管理所有的用户realm:连接数据库--><dependency><groupId>org.apache.shiro</groupId><a 查看详情

springboot整合shiro实现权限控制(代码片段)

文章目录1、SpringBoot整合Shiro1.1、shiro简介1.2、代码的具体实现1.2.1、Maven的配置1.2.2、整合需要实现的类1.2.3、项目结构1.2.4、ShiroConfig的实现1.2.5、CustomerRealm的实现1.2.6、shiro缓存配置1.2.7、主页index.html的设置1.3、简单测试1.3.1、adm... 查看详情

springboot整合shiro实现权限控制(代码片段)

文章目录1、SpringBoot整合Shiro1.1、shiro简介1.2、代码的具体实现1.2.1、Maven的配置1.2.2、整合需要实现的类1.2.3、项目结构1.2.4、ShiroConfig的实现1.2.5、CustomerRealm的实现1.2.6、shiro缓存配置1.2.7、主页index.html的设置1.3、简单测试1.3.1、adm... 查看详情

springboot+shiro框架整合实现前后端分离的权限管理基础demo

记录一下使用SpringBoot集成Shiro框架实现前后端分离Web项目的过程,后端使用SpringBoot整合Shiro,前端使用vue+elementUI,达到前后端使用token来进行交互的应用,这种方式通常叫做无状态,后端只需要使用Shiro框... 查看详情

springboot项目中使用shiro实现用户登录以及权限的验证(代码片段)

...xff1a;https://blog.csdn.net/weixin_43304253/article/details/121124431建立springboot项目。目录结构这个样子的项目的jar包依赖<dependencies><!--整合shirosubject:用户securitymanager&# 查看详情

springboot进阶之整合shiro鉴权框架(三)

...有的难点都离不开「基础知识」的铺垫。目前正在出一个SpringBoot长期系列教程,从入门到进阶,篇幅会较多~「大佬可以绕过~」如果你是一路看过来的,很高兴你能够耐心看完。之前带大家学了Springboot基础部分,对基本的使用有... 查看详情

springboot整合shiro实现权限控制(代码片段)

文章目录1、SpringBoot整合Shiro1.1、shiro简介1.2、代码的具体实现1.2.1、Maven的配置1.2.2、整合需要实现的类1.2.3、项目结构1.2.4、ShiroConfig的实现1.2.5、CustomerRealm的实现1.2.6、shiro缓存配置1.2.7、主页index.html的设置1.3、简单测试1.3.1、adm... 查看详情

springboot整合shiro+springboot+vue

目录02SpringBoot整合Shirop1.shiro概述1什么是Shiro2Shiro核心组件p2.Shiro实现登录认证AccountRealm.javaQueryWrapper类名和表名是一一对应的mapper报错解决测试pom.xmlp3.Shiro实现请求授权配置类ShiroConfig**编写认证和授权规则:controllerp4.Shiro整合Thyme... 查看详情

springboot学习shiro快速入门及与springboot集成(代码片段)

...架构(外部)1.4、Shiro架构(内部)2、HelloWorld2.1、快速实践3、SpringBoot集成3.1、SpringBoot整合Shiro环境搭建3.2、Shiro实现登录拦截3.3、Shiro实现用户认证3.4、Shiro整合Mybatis3.5、Shiro实现用户授权 查看详情

原无脑操作:idea+maven+shiro+springboot+jpa+thymeleaf实现基础认证权限

开发环境搭建参见《【原】无脑操作:IDEA+maven+SpringBoot+JPA+Thymeleaf实现CRUD及分页》需求:①除了登录页面,在地址栏直接访问其他URL,均跳转至登录页面②登录涉及帐号和密码,帐号错误提示帐号错误,密码错误提示密码错误③... 查看详情

springboot2整合shiro安全框架实现前后端分离的jwttoken登录验证

代码略多,粘贴一些关键的代码,完整demo当然必须放在GitHub上面啦,当然带SQL文件的,在项目里面GitHub地址:https://github.com/zhang-xiaoxiang/shiro-jwt说明:由于初衷是解决自己项目的bug的,就找的网上的一面博客瞎搞了一个demo.然后报的错网上... 查看详情

springboot集成shiro实现权限缓存和记住我

到这节为止,我们已经实现了身份验证和权限验证。但是,如果我们登录之后多次访问http://localhost:8080/userInfo/userDel的话,会发现权限验证会每次都执行一次。这是有问题的,因为像用户的权限这些我们提供给shiro一次就够了。... 查看详情