Spring Security 认证流程

news2024/11/16 18:03:14

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.coloradmin.cn/o/1883176.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据驱动测试DDT之Selenium读取Excel文件

(1)安装xlrd pip3 install xlrd (2)示例脚本 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ​import pytest import xlrd def get_data(): filename"F:\\学习\\自动化测试\\selenium自动化…

OpenStack开源虚拟化平台(一)

目录 一、OpenStack背景介绍(一)OpenStack是什么(二)OpenStack的主要服务 二、计算服务Nova(一)Nova组件介绍(二)Libvirt简介(三)Nova中的RabbitMQ解析 OpenS…

简单配置VScode轻量级C++竞赛环境

1. 安装拓展 Chinese是中文,需要重启才可以运行,C/C拓展只是进行语法代码提示,不需要进行任何配置修改,默认即可。 2. 创建文件 C是工作文件夹,.vscode是配置文件夹,里面建一个tasks.json文件,…

Canvas 指纹:它是什么以及如何绕过它

什么是 Canvas 指纹? 网络浏览器在执行其功能时会收集各种信息。当这些信息中的某些被用于识别网站用户时,这被称为浏览器指纹。 浏览器指纹包括以下有关浏览器的信息:设备型号、浏览器类型和版本、操作系统 (OS)、屏幕分辨率、时区、p0p 文…

PC系统安装引导:2、进入维护环境

目录 🍅点击这里查看所有博文 闲来无事,记录下自己以往多年总结出的一套系统维护的方法。以供有需要的人学习使用。例如,系统崩溃了无法启动怎么办,如何重做系统,如何安装双系统,如何引导多系统&#xff0…

告别地推烦恼,Xinstall智能推广系统,让APP推广更高效!

在移动互联网时代,APP的推广与运营成为了每个开发者必须面对的问题。地推作为一种传统的推广方式,虽然有着其独特的优势,但也面临着诸多挑战。如何在地推中脱颖而出,实现高效推广?今天,我们就来聊聊Xinstal…

5个让页面“活“起来的CSS特效

大家好,欢迎来到程序视点。 随着越来越多的浏览器对CSS3支持的不断完善,设计师和开发者们有了更多的选择去实现一些炫酷特效。这里整理了最近项目中使用到的5个比较实用的CSS3动画演示。让我们一起看看CSS3是如何让页面秀起来的。 3D倒影翻转 超炫酷3D倒影翻转动…

某安全公司DDoS攻击防御2024年6月报告

引言: 在2024年6月,网络空间的安全挑战汹涌澎湃。分布式拒绝服务(DDoS)攻击频发,针对云服务、金融科技及在线教育平台的精密打击凸显出当前网络威胁环境的严峻性。 某安全公司作为网络安全防护的中坚力量&#xff0c…

chunkers/maxent_ne_chunker/english_ace_multiclass.pickle 找不到

首先在这个nltk_data : NLTK Data官方下的数据集,找不到english_ace_multiclass.pic 说明缺少这个文件 : 那么在 nlp/resources/chunkers/maxent_ne_chunker/english_ace_multiclass.pickle at master teropa/nlp (github.com) 下载那两个文件 : 然…

C++专业面试真题(1)学习

常用Linux命令 ls:列出当前目录内容 ls -l:详细信息列表 ls -a:包括隐藏文件 cd:更改目录 pwd:显示当前目录路径 mkdir:创建新目录 rmdir:删除空目录 rm:删除文件或目录 rm -…

拒绝胶感,清纯甜美邻家女孩!逼真!逼真!SD1.5 更适合初恋般的国产真人大模型—— CNrealisticMIXV40

老铁说看惯了AI艺术大片,想寻找适合生成邻家女孩青涩照片的模型。老徐今天应邀,针对邻家女孩青涩风格进行下尝试。老徐此前推荐过一款支持各种真实,摄影,写实风格模型的合体模型——赛博Dream | CNrealistic_MIX_V40无损修剪版。 …

Open3D 点云快速全局配准FGR算法(粗配准)

目录 一、概述 1.1原理和步骤 1.2关键技术和优势 1.3应用场景 二、代码实现 2.1 关键代码 2.1.1.函数:execute_fast_global_registration 2.1.2调用registration_fgr_based_on_feature_matching函数 2.2完整代码 三、实现效果 3.1原始点云 3.2粗配准后点…

03 _ 类型基础(2):动态类型与静态类型

静态类型语言与动态类型语言 通俗定义 静态类型语言:在编译 阶段确定所有变量的类型 动态类型语言:在执行阶段确定所有变量的类型 Javascript 与 C 对比 静态类型与动态类型对比 其他定义 强类型语言:不允许程序在发生错误后继续执行 语…

【小贪】项目实战——Zero-shot根据文字提示分割出图片目标掩码

目标描述 给定RGB视频或图片,目标是分割出图像中的指定目标掩码。我们需要复现两个Zero-shot的开源项目,分别为IDEA研究院的GroundingDINO和Facebook的SAM。首先使用目标检测方法GroundingDINO,输入想检测目标的文字提示,可以获得…

primetime中cell和net的OCV

文章目录 前言一、Cell OCV1. POCV coefficient file2. POCV Slew-Load Table in Liberty Variation Format(LVF lib) 二、Net OCV三、如何check OCV是否已加上?总结 前言 在生产中,外界环境的各种变化,比如PVT&#…

grpc学习golang版( 六、服务器流式传输 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、前言二、定义proto文件三、拷贝任意文件进项目四、编写serve…

vscode搭建suricata调试环境

一、环境 windows10 wsl2 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.2 LTS Release: 20.04 Codename: focal二、编译 2.1 下载源码 wget https://www.openinfosecfoundation.org/download/suri…

为什么越来越多的人选择做债务重组?

说到债务重组,很多人可能一头雾水。但简单来说,就是帮你优化债务结构,减轻还款压力。 为什么现在这么多人会选择做债务重组? 保护工作和名声:有些在好单位上班的人,怕债务问题影响工作,不想让单…

解决Python用xpath爬取不到数据的一个思路

前言 最近在学习Python爬虫的知识,既然眼睛会了难免忍不住要实践一把。 不废话直接上主题 代码不复杂,简单的例子奉上: import requests from lxml import etreecookie 浏览器F12网络请求标头里有 user_agent 浏览器F12网络请求标头里有…

论文翻译 | (DSP)展示-搜索-预测:为知识密集型自然语言处理组合检索和语言模型

摘要 检索增强式上下文学习已经成为一种强大的方法,利用冻结语言模型 (LM) 和检索模型 (RM) 来解决知识密集型任务。现有工作将这些模型结合在简单的“检索-读取”流程中,其中 RM 检索到的段落被插入到 LM 提示中。 为了充分发挥冻结 LM 和 RM 的…