![](https://img-blog.csdnimg.cn/bd594d400b004187aa7fd240cbd3a8a6.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring Security
文章平均质量分 90
Spring Security
陈橙橙丶
不放手 直至理想到手
展开
-
基于Springboot+SpringCloud+Spring Security OAuth2.0搭建的博客系统
前言看过这样一段话《2022值得深思的一段话》1.在同一辆列车上,有人感染,有人安全,这是机体免疫力2.同样的隔离,有人一年不愁吃穿,有人一星期就经济拮据,这是财务免疫力3.同样隔离在家,有人读书学习,空中课程很自律,有人打麻将玩游戏,混混沌沌过日子,这是价值免疫力4.一样的灾难,有人阳光向上,勇往直前有人怨天尤人,甚至仇恨社会,这是心理免疫力。这样灾难,是个大浪淘沙的过程,对所有人的体质、阅历、认知、人性、良知、勇气、思想、道德、灵魂、理想、价值观等都是长筛选。所以战胜意外和不幸,所要做的原创 2022-03-19 16:39:55 · 1094 阅读 · 5 评论 -
SpringSecurity(十二)过滤器链分析(上)
前言说到Spring Security的实现原理,大部分都知道是通过过滤器链。因为Spring Security中的所有功能都是通过过滤器链来实现的,这些过滤器组成一个完整的过滤器链。那么这些过滤器链是如何初始化的?我们之前说的AuthenticationManager又是如何初始化的?前面我们对Spring Security的一些核心过滤器以及组件有了一定的了解。由于初始化流程相对复杂,因此我们并没有一开始从这一块分析。初始化流程分析Spring Security初始化流程整体上来说还是很好理解的,原创 2022-03-16 14:44:19 · 1990 阅读 · 0 评论 -
SpringSecurity(十一) 登录流程分析(下)
前言上一篇我们对SpringSecurity登录流程几个重要组件进行了简单的分析,最后遗留下来了一点,这里我们将继续上篇内容讨论。有兴趣的朋友可以看看本专栏的文章。还请不吝赐教。AbstractAuthenticationProcessingFilter作为SpringSecurity过滤器链中的一环,AbstractAuthenticationProcessingFilter可以用来处理任何提交给它的身份你认证,我们来用图看看它的工作流程:上图显示的流程是一个通用的架构。AbstractAut原创 2022-03-16 12:51:00 · 1451 阅读 · 0 评论 -
SpringSecurity (十) 登录流程剖析(上)
前言Spring Seucirty 中默认的一套登录流程是十分完善并且严谨的。但是项目需求非常多样化,很多时候,我们可能还需要对 Spring Security登录流程进行定制,定制的前提是我们需要深刻理解Spring Security登录流程,然后在此基础之上,完成对登录流程的定制。登录流程分析要搞清楚Spring Security认证流程,我们得先认识与之相关的三个基本组件:AuthenticationManager、ProviderManager以及AuthenticationProvider原创 2022-03-16 11:03:18 · 1207 阅读 · 0 评论 -
SpringSecurity(九)从请求对象获取登录数据
上两篇我们主要讨论了一下从SecurityContextHolder中获取数据以及他的原理,这里我们来看一下第二种方法获取请登录数据,从当前请求种对象种获取。从请求对象中获取我们首先来看一下获取登录数据的代码,如下:@GetMapping("/authentication") public void authentication(Authentication authentication){ System.out.println("authentication = "+ a.原创 2022-03-13 20:37:26 · 2144 阅读 · 8 评论 -
SpringSecurity(八)用户数据获取之SpringSecurityContextHolder深度剖析(下)
在上一篇中我们大致的说明了从Security中获取登录数据的逻辑以及SecurityContextHolder保存数据的策略,最后也遗留下了一个问题。—SpringBoot中不同的请求都是由不同的线程处理的,那为什么每一次请求都还能从SecurityContextHolder中获取到登录用户信息呢,这就得提到SpringSecurity过滤器链中最重要的一环了。SecurityContextPersistenceFilter前面几篇我们也介绍了SpringSecurity常见的过滤器,在这些过滤器中.原创 2022-03-13 11:17:11 · 1951 阅读 · 2 评论 -
SpringSecurity(七)用户数据获取之SpringSecurityContextHolder深度剖析(上)
登录用户数据获取登录成功之后,在后续的业务逻辑中,我们可能还需要获取登录成功用户的用户对象,如果我们不使用任何安全框架,我们可以将用户信息保存在HttpSession中,需要的话就从HttpSession中获取数据。在SpringSecurity中,用户登录信息本质上还是保存在HttpSession中,但是为了方便使用,SpringSecurity对HttpSession中的用户信息进行了封装,封装之后,我们在想获取用户登录数据就会有两种不同的思路:从SecurityContextHolder中获取原创 2022-03-11 22:55:30 · 3886 阅读 · 0 评论 -
SpringSecurity(六)注销登录
注销登录SpringScurity中提供了默认的注销页面,当然我们也可以根据自己的需求对注销登录进行定制。@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests()原创 2022-03-11 17:53:21 · 1649 阅读 · 0 评论 -
SpringSecurity(五)表单配置-登录失败及页面跳转原理
认证失败继上一篇内容我们继续讨论一下关于表单登录配置认证失败的时候,它默认页面的跳转原理。前言为了方便在前端页面中展示失败的异常信息,我们现在项目中的pom.xml文件中引入thymeleaf依赖。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymel原创 2022-03-11 17:22:21 · 4208 阅读 · 0 评论 -
SpringSecurity(四)表单配置-登录成功及页面跳转原理
登录表单配置在上一篇文章中,我们介绍了,基本认证以及默认用户名和密码以及页面SpringSecurity是怎样帮我们生成的,这里我们就来看一下登录表单的详细配置。项目准备导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>原创 2022-03-11 16:42:28 · 5283 阅读 · 0 评论 -
SpringSecurity(三)基本认证
认证对于安全管理框架来说,认证共嗯那个可以说是一切的起点,所以我们要从最基本的认证开始,在SpringSecurity中,对认证功能做了大量的封装,我们只需要稍微配置一下就能使用认证功能,也就是因为大量的封装,所以在我们去理解它的逻辑时就显得有些不易了,我们先从最基本的用法开始。SpringSecurity基本认证登录表单配置登录用户数据获取用户的四种定义方式基本认证在SpringBoot中使用SpringSecurity非常方便,创建一个新的SpringBoot项目,我们只需要引入web原创 2022-03-10 14:23:10 · 1097 阅读 · 7 评论 -
SpringSecurity(二)Web安全
Web安全 在SpringSecurity中,认证、授权等功能都是基于过滤器来完成的。如下表:过滤器过滤器作用是否默认加载ChannelProcessingFilter过滤请求协议,如HTTPS和HTTP否WebAsyncManagerIntegrationFilter将WebAsyncManager与Spring Security上下文进行集成是SecurityContextPersistenceFilter在处理请求之前,将安全信息加载导Security原创 2022-03-10 14:20:52 · 5301 阅读 · 0 评论 -
SpringSecurity(一)核心功能
前言最近在潜心研究一下安全框架,并在此进行一下记录,如有不对还请不吝赐教。对于一个安全管理管理框架而言,无论是Shiro还是SpringSecurity,最核心的功能,无非就是两个认证:你是谁?授权:你可以做什么认证SpringSecurity支持多种不同的认证方式,这些认证方式有的是SpringSecurity自己提供的认证功能,有的是第三方标准组织制定的。SpringSecurity集成的主流认证机制主要有如下几种:表单认证OAuth2.0认证SAML2.0认证CAS认证原创 2022-03-10 14:17:51 · 4680 阅读 · 0 评论