草庐IT

springsecurity-shiro

全部标签

Shiro框架漏洞分析与复现

Shiro简介ApacheShiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性,可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的Web和企业应用程序。1、Shiro反序列化漏洞(CVE-2016-4437,Shiro-550)漏洞原理:shiro框架在登录时,如果勾选了RememberMe的功能,关闭浏览器再次访问时便无需再次登录,此时cookie中会增加一个rememberMe字段,其value的值是经过序列化、AES加密和Base64编码后得到的结果。服务端在接收到一个Cookie时,会按照如下步骤进行解析处理

SpringSecurity 安全框架详解

SpringSecurity安全框架详解1.简介先赘述一下身份认证和用户授权:用户认证(Authentication):系统通过校验用户提供的用户名和密码来验证该用户是否为系统中的合法主体,即是否可以访问该系统;用户授权(Authorization):系统为用户分配不同的角色,以获取对应的权限,即验证该用户是否有权限执行该操作;Web应用的安全性包括用户认证和用户授权两个部分,而SpringSecurity(以下简称Security)基于Spring框架,正好可以完整解决该问题。它的真正强大之处在于它可以轻松扩展以满足自定义要求。2.原理Security可以看做是由一组filter过滤器链组成

SpringSecurity 安全框架详解

SpringSecurity安全框架详解1.简介先赘述一下身份认证和用户授权:用户认证(Authentication):系统通过校验用户提供的用户名和密码来验证该用户是否为系统中的合法主体,即是否可以访问该系统;用户授权(Authorization):系统为用户分配不同的角色,以获取对应的权限,即验证该用户是否有权限执行该操作;Web应用的安全性包括用户认证和用户授权两个部分,而SpringSecurity(以下简称Security)基于Spring框架,正好可以完整解决该问题。它的真正强大之处在于它可以轻松扩展以满足自定义要求。2.原理Security可以看做是由一组filter过滤器链组成

springboot2.7整合springSecurity

springboot2.7整合springSecurity0.简介本着前人栽树,后人乘凉的这种思想,自己花了一些时间,用心的整理了一套springboot整合springsecurity的教程。该教程是基于springboot2.7.3版本开发的,在2.7以上版本中,springSecurity已经废弃了WebSecurityConfigurerAdapter,而是使用bean注入的方式,详情可参阅官方文档:https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter#lda

springboot2.7整合springSecurity

springboot2.7整合springSecurity0.简介本着前人栽树,后人乘凉的这种思想,自己花了一些时间,用心的整理了一套springboot整合springsecurity的教程。该教程是基于springboot2.7.3版本开发的,在2.7以上版本中,springSecurity已经废弃了WebSecurityConfigurerAdapter,而是使用bean注入的方式,详情可参阅官方文档:https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter#lda

SpringSecurity6.0自定义数据库登录认证详细注释与两个关键点

阅读提醒本文是基于Springboot3.0.1和Springsecurity6.0版本,阅读时请注意。前言Springboot升级到3.0以后,认证与授权SpringSecurity也就升到6.0了,有些写法已经跟以前的版本不太一样了。对于老手不适合阅读本文,对你没有什么帮助,但对于新手来说还是很有指导意义。两个关键点1.重写安全过虑配置新版本已经放弃了WebSeucrityConfigurerAdapter,不能再用老版本的继承方法了。新版本采用的是重写SecurityFilterChain,代码如下:packagesecurity.config;importorg.springframe

SpringSecurity6.0自定义数据库登录认证详细注释与两个关键点

阅读提醒本文是基于Springboot3.0.1和Springsecurity6.0版本,阅读时请注意。前言Springboot升级到3.0以后,认证与授权SpringSecurity也就升到6.0了,有些写法已经跟以前的版本不太一样了。对于老手不适合阅读本文,对你没有什么帮助,但对于新手来说还是很有指导意义。两个关键点1.重写安全过虑配置新版本已经放弃了WebSeucrityConfigurerAdapter,不能再用老版本的继承方法了。新版本采用的是重写SecurityFilterChain,代码如下:packagesecurity.config;importorg.springframe

shiro安全认证之FilterChainDefinitionMap

最近在用shiro实现安全认证功能时发现一个问题上图我们定义了一个LinkedHashMap,并往Map里面添加了两对键值对,然后执行bean.setFilterChainDefinitionMap(filterMap) 之后在将这两个键值对里面的值进行修改,但是没有执行上面的set操作,debug时发现,虽然没有执行set操作,但是FilterChainDefinitionMap里面的filterMap的键值对的值仍然发生了改变。 甚至在后面再添加一个新的键值对,也能够进入FilterChainDefinitionMap里面,猜测这是Map的机制导致的。同时注意一个点,在使用shiro安全认

SpringSecurity实现前后端分离登录授权详解

在介绍完SpringSecurity实现前后端分离认证之后,然后就是SpringSecurity授权,在阅读本文章之前可以先了解一下作者的上一篇文章SpringSecurity认证SpringSecurity实现前后端分离登录token认证详解_山河亦问安的博客-CSDN博客。目录1.授权1.1权限系统的作用1.2 授权基本流程1.3授权实现1.3.1 限制访问资源所需权限1.3.2权限校验方法1.3.3 自定义权限校验方法1.4自定义失败方案1.5代码更改1.授权1.1权限系统的作用例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信

【重点】springcloud分布式中gateway+shiro+jwt认证流程(思路)

项目原来是单体架构,现拆分成springcloud微服务架构。过程中,整理了一下项目“认证授权”功能的微服务之间的调用思路:如下两个方法的切入点都是在ShiroConfig配置类(@Configuration)中@Bean注入的:   1shiroFilterFactoryBean-> JwtFilter中的onAccessDenied()            ->无token:直接放过                  -->登录/login                      --->远程调用oauth模块                        ---->去验证(usern