shiro框架权限管理视频教程shiro redis session共享token

浏览691+

一、shiro的session信息存为何要储到redis中

shiro权限框架的功能还是比较丰富的,它有自己的内存管理机制,也有提供扩展接口让外部的中间件对接进行授权信息和用户信息的存储管理。

默认的情况下是使用cacheManager管理器用来存储认证成功的用户session信息和权限列表信息,但是这种情况只适合单体管理系统的权限认证,而且用户的登录信息会保存在内存中,如果登录用户比较多的情况下,对内存的压力也比较大。只能扛得住一些简单的企业管理系统,不能扛住大规模的并发用户系统,因此业内才提出了用redis这种内存数据库解决方案来解决以上的问题。

shiro引入redis主要能够解决三方面的问题,首先是分布式系统的话,Redis可以做统一的权限认证系统,直接解决了多台服务器下的session共享问题,其次Redis有大规模的并发能力,能够解决海量的并发用户并发认证的情况。

第三就是当用户进行权限授权的时候,每一个接口的调用都会判断是否有该权限,都会查询权限列表,如果将用户的权限列表存在内存中,对内存的消耗非常大,如果将权限列表存在数据库中,那就会频繁的查询数据库,此两点都是无法容忍和不可接受的,如果将权限列表存到redis中就完美的解决了这两种问题,因为redis有很强的并发能力,也支持大规模的并发请求。

二、shiro前后端分离模式下token的使用思路

如果在不使用权限框架的情况下,我们做前后端分离开发的情况,普遍是设置一个token信息,然后保存在前端浏览器中,每次用户请求后台接口的时候都会携带token信息,一般是在请求头中设置一个变量来保存token,后端获取到请求头拿到token信息进行验证。

而使用了shiro后,很多情况大家都不知所措了,因为会受到shrio这个框架的限制,因此我们需要阅读shiro的底层源码。

shiro默认的验证信息是将用户信息存到自己的内存中,相当于就是将session存到内存中,通过session的方式来验证用户登录与否,而前端浏览器中保存的是cookie中存储sessionID,就跟我们普通的单体项目登录是一样的。

此时,我们只需要找到shiro存储session的类,然后进行重写改造成前后端分离的模式,找到获取sessionID的那个方法,将其进行重写改成从请求头中拦截获取token信息,这样的话就成功地改造成了前后端分离模式下的token登录认证。

扩展阅读:

Redis实现Shiro分布式Session共享

shiro + redis session过期时间不符合预期提前过期

Shiro集成Redis实现Session统一管理

Shiro关闭session管理

三、shiro框架权限管理视频教程信息

1、课程大小:2.30GB

2、课程课时:共计38课时

3、播放格式:(mp4视频格式)百度云网盘在线播放、下载视频播放器播放、不加密

4、技术架构:springboot+redis+shiro

5、课件说明:教程课程涵盖素材、代码、笔记资料

以下是shiro redis session共享token视频教程具体课程大纲:

1)普通的web项目权限认证与授权的方案与思路

2)基于url的细粒度权限设计方案

3)业内最常用的两种权限框架介绍与对比

4)shiro的优点与认证的流程与原理分析

5)直接使用spring boot2.x整合shiro权限框架编写案例

6)手把手编写一个shiro认证的简单代码案例

7)shiro的认证演示与权限授权的基本演示

8)shiro中的核心类与核心API应用

9)realm数据源类的应用与自定义realm类

10)realm类连接数据库实现正式的登录认证案例

11)翻看shiro的底层源代码来剖析shiro整体的认证流程

12)shiro中的过滤器链介绍与各个过滤器的作用

13)基于注解的方式对请求的url进行授权

14)将目前的shiro改造成前后端分离模式下的登录认证

15)翻看shiro底层源码自定义realm和自定义过滤器的应用

16)使用redis整合shiro

17)使用redis代替shiro的内存管理

18)剖析分布式系统和微服务系统下的shrio如何做权限管理

shiro权限管理框架视频课程详情

图一:shiro权限管理框架视频课程详情

扩展阅读:

Springboot下Shiro+Token使用redis做安全认证方案

shiro权限控制+前后端分离+复杂请求

签发的用户认证token超时刷新策略

Shrio框架Token认证思路