【Spring Security】安全框架学习(二)

2 认证

2.1 登陆校验流程

首先我们看一下security的执行顺序图

在这里插入图片描述

2.2 原理了解

由于安全框架提供了很多默认的设置,添加依赖就能直接运行,但是实际开发中我们只想要得到登陆的结果,就需要修改security提供的默认配置来实现自己的登陆流程。想要知道如何实现自己的登陆流程,就必须要先知道入门案例中的Spring Security的流程。

2.2.1 Spring Security完整流程

Spring Security的原埋其实就是一个过滤器链,内部包含了提供各种功能的过滤器。这里我们可以看看入门案例中的过滤器。

在这里插入图片描述

图中只展示了核心过滤器,其它的非核心过滤器并没有在图中展示。

UsernamePasswordAuthenticatlonFilter:负责处理我们在登陆页面填写了用户名密码后的登陆请求。入门案例的认证工作主要由它负责。

ExceptionTranslationFilter:处理过滤器链中抛出的任何AccessDeniedException和AuthenticationException。

FilterSecuritylnterceptor:负责权限校验的过滤器。

我们可以通过debug查看当前系统中的Spring Security过滤链中有哪些过滤器以及他们的顺序。

在这里插入图片描述

2.2.2 认证流程解析

在这里插入图片描述

需要注意的是,上图中 5.1 与 5.2 是两种不同的方式,二选一即可。

Authentication接口:它的实现类,表示当前访问系统的用户,封装了用户相关信息。

AuthenticationManager接口:定义了认证Authentication的方法

UserDetailsService接口:加载用户特定数据的核心接口。里面定义了一个根据用户名查询用户信息的方法。

UserDetails接口:提供核心用户信息。通过UserDetailsService根据用户名获取处理的用户信息要封装成UserDetails对象返回。然后将这些信息封装到Authentication对象中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值