Spring Security 认证流程

news/2024/7/8 7:46:08 标签: spring, java, spring security, Authentication, 认证

Spring Scurity是spring生态下用于认证和授权的框架,具有高度的灵活性和可扩展行,本节主要对Spring Security的认证过程中进行概括性的介绍,主要介绍在该过程中,会涉及到哪些组件以及每个组件所承担的职责,希望大家可以对Spring Security的认证过程能够有一个清晰的认识。

如上图所示,该图展示了在Spring Security的身份验证过程中涉及到的主要组件以及他们之间的关系。这个架构代表了使用Spring Security实现身份验证的骨架主干。我们在后续给大家讲解Spring Security的身份验证过程中,会经常使用到,需要大家对其有个基本的认识。

如上图所示

  1. 用户对系统发出的请求,会被Spring Security的身份验证过滤器拦截,拦截之后会进行Spring Security的内部处理流程,而该拦截器会将认证请求委托给身份验证管理器,即AuthenticationManager.
  2. 使用验证管理器会使用身份验证提供程序,即AuthenticationProvider进行身份的逻辑校验,而身份验证提供程序会使用另外两个组件,即用户详情服务和密码编码器进行身份的具体校验过程
  3. 用户详情服务,即UserDetailsService,实现了用户管理职能,身份验证提供程序将在身份验证逻辑中使用它来查找用户是否存在
  4. 密码编码器即PasswordEncoder实现了密码的管理,身份验证提供程序将在身份验证逻辑中使用它,以便确认用户输入的密码是否正确
  5. 安全上下文即SecurityContext在身份验证结束后,保留身份验证的数据,如用户名、所具有的角色和权限等,供程序后续调用

以上便是基于Spring Security进行身份认证过程需要经历的步骤,希望大家能有所了解,后续将针对每个组件给大家做更加详细的介绍。


http://www.niftyadmin.cn/n/5536869.html

相关文章

白骑士的Python教学高级篇 3.4 Web开发

系列目录 上一篇:白骑士的Python教学高级篇 3.3 数据库编程 在现代软件开发中,Web开发占据了重要的一席之地。通过Web开发,我们可以创建从简单的个人博客到复杂的电子商务网站等各种应用。在Python的生态系统中,Flask和Django是两…

PX2平台Pytorch源码编译

写在前面:以下内容完成于2019年底,只是把笔记放到了CSDN上。 需要注释掉NCLL及分布式相关的配置 libcudart.patch diff --git a/torch/cuda/__init__.py b/torch/cuda/__init__.py index 4591702..07e1268 100644 --- a/torch/cuda/__init__.pyb/torc…

C++: Map数组的遍历

在C中,map是一个关联容器,它存储的元素是键值对(key-value pairs),其中每个键都是唯一的,并且自动根据键来排序。遍历map的方式有几种,但最常用的两种是使用迭代器(iterator&#xf…

密码学原理精解【5】

这里写目录标题 移位密码概述代码 希尔密码( Z 256 Z_{256} Z256​)待加密长度被3整除待加密长度不一定被3整除加解密文件 移位密码 概述 以 z 26 运算为例 , k 为密钥 加密: e k ( x ) ( x k ) m o d 26 解密: d k ( x ) ( x − k ) m o d 26 以z_{…

C#Winform窗体中嵌入exe文件

1,效果以嵌入Modbus Slave为例: 2,代码: public partial class Form1 : Form{//设置嵌入exe的常量private const int nIndex -16;private const int dwNewLong 0x10000000;Process m_AppProcess;public Form1(){InitializeCompo…

c进阶篇(四):内存函数

内存函数以字节为单位更改 1.memcpy memcpy 是 C/C 中的一个标准库函数&#xff0c;用于内存拷贝操作。它的原型通常定义在 <cstring> 头文件中&#xff0c;其作用是将一块内存中的数据复制到另一块内存中。 函数原型&#xff1a;void *memcpy(void *dest, const void…

ffmpeg使用mjpeg把yuvj420p编码为jpg图像

version #define LIBAVCODEC_VERSION_MAJOR 60 #define LIBAVCODEC_VERSION_MINOR 15 #define LIBAVCODEC_VERSION_MICRO 100 note 1. 通过*.jpg推测时&#xff0c;out_fmt为image2&#xff0c;打开*.jpg文件时&#xff0c;in_fmt为image2 但是out_fmt为image2时&…

中英双语介绍美国的州:阿肯色州(Arkansas)

中文版 阿肯色州简介 阿肯色州&#xff08;Arkansas&#xff09;位于美国南部&#xff0c;以其多样的自然景观、丰富的文化遗产和不断发展的经济而闻名。以下是对阿肯色州的详细介绍&#xff0c;包括其地理位置、人口、经济、教育、文化和主要城市。 地理位置 阿肯色州东临…