配置Spring Security的身份验证

配置Spring Security的身份验证

在我们登录Spring Security之前,我们将向您展示如何配置Spring Security的身份验证。我们将通过创建一些用户来验证并为它们生成身份验证。在这篇文章中,我们将学习Spring Security的流程是配置Spring Security中的身份验证方式,该身份验证方式是通过使用Spring Security应用程序验证用户身份。所以让我们来看看Spring Security的流程吧。

这篇文章的起点就像一个简单的Spring Security应用程序,并点击Spring Security的应用程序。你可以点击Spring Security的登录页面,然后输入Spring Security的登录信息,但这对你来说并不理想。你可能想知道Spring Security基于哪个服务器的客户端进行身份验证。在这篇文章中,我们将通过实际的身份验证一些用户在服务器上配置身份验证。安全注册工作并进行身份验证。它实际上有一个名为身份验证的方法,要么返回成功的身份验证,要么在身份验证失败时抛出异常。

因此,身份验证管理器是身份验证的对象。那么它是如何工作的呢?它的方式不是创建自己的身份验证管理器,而是配置身份验证管理器要去找。使用构建器,你不直接使用身份验证管理器。你所做的就是使用一个名为AuthenticationManagerBuilder的构建器类来配置实际的身份验证。在这里,首先,以某种方式获得AuthenticationManagerBuilder,然后在AuthenticationManagerBuilder上设置配置。所以你可以以想象的AuthenticationManagerBuilder 的交互。是配置过程。

当你处理身份验证管理器构建器时,它首先会问你,嘿,你想要什么启动身份验证?然后你输入一个身份验证管理器,然后告诉你用户名、密码和角色,然后你提供的用户信息,是一个用户或多个用户。但一旦你完成了这些属性配置,你可以想象一个新的身份验证管理器被创建,它具有这两个值,但你正在处理身份验证管理器构建器。

我问一个问题。你如何首先获取这个AuthenticationManagerBuilder 呢? Security设置已经存在一个挂钩。事实上,在Spring Security设置时,它有一个类,它有一个configure的方法。它接受AuthenticationManagerBuilder作为参数。Spring Security框架调用该configure方法并传入AuthenticationManagerBuilder。该类存在的原因是为了给开发者一个扩展类的机会,重写configure方法并进行完整的配置。如果你不扩展这个类并且重写这个方法,那么默认配置就会发生。

然而,如果你只是扩展特定的类并且然后重写这个方法,那么你现在有一个方法,它以AuthenticationManagerBuilder作为参数。一旦你放置了相关的代码,Spring Security就会调用你的configure方法并传入AuthenticationManagerBuilder。这是一个机会,让你获取AuthenticationManagerBuilder实例并执行我们谈到的交互。我们发现我们接下来要做的事情是去我的application.properties文件,删除这些属性。覆盖Spring Security创建的默认单个用户。接下来我要做的事情是创建那个类,这样我就可以提供那个。

好的,我要创建一个类。我叫这个SecurityConfiguration。你可以随意给它取任何名字。重要的是这个类。扩展一个名为WebSecurityConfigurerAdapter如果我确认要重写某个选项,它可以是多个配置方法。所以我们可以接受多个参数。我们感兴趣的是这个特定方法。你猜它接受AuthenticationManagerBuilder作为参数。现在,如果你要在这里编写一个重写的方法,它确实接受了AuthenticationManagerBuilder作为参数,你可以放心,Spring Security会向你发送这个参数,这个参数是AuthenticationManagerBuilder实例传递过来的。我移动了超级配置的权限,所以我想在这里给任何人发送这个参数。参数是AuthenticationManagerBuilder实例。

总结

在我们开始使用Spring Security之前,首先要配置身份验证。这个过程涉及创建用户并生成他们的身份验证。在这段视频中,我们将了解配置Spring Security身份验证的流程,这种身份验证方式会在Spring Security应用程序中验证用户身份。让我们一起来看看Spring Security的配置流程。

创建身份验证管理器:

首先,我们需要配置身份验证管理器。身份验证管理器负责处理用户的身份验证。配置身份验证管理器不是直接创建它,而是配置一个构建器来创建它。这个构建器叫做AuthenticationManagerBuilder。

配置AuthenticationManagerBuilder:

通过AuthenticationManagerBuilder,我们可以设置身份验证的细节。这个过程就像在进行一次交互,首先询问你想要的身份验证类型,然后你提供用户的用户名、密码和角色等信息。

获取AuthenticationManagerBuilder实例:

在Spring Security的配置中,有一个类具有configure方法,该方法接受AuthenticationManagerBuilder作为参数。通过扩展这个类并重写configure方法,我们可以获取AuthenticationManagerBuilder实例,并进行配置。

创建SecurityConfiguration类:

我们创建一个类,通常称为SecurityConfiguration,继承自WebSecurityConfigurerAdapter。在这个类中,我们可以重写configure方法,并接受AuthenticationManagerBuilder作为参数,以进行身份验证配置。

完成配置:

在SecurityConfiguration类中,我们可以配置身份验证管理器,以及其他安全相关的设置。完成配置后,Spring Security框架会调用我们的configure方法,并传入AuthenticationManagerBuilder实例,使我们可以进行进一步的配置。

在这个过程中,我们删除了默认的用户属性配置,并通过编写自定义的SecurityConfiguration类来配置身份验证。这样,我们就可以根据需要创建多个用户,并配置他们的身份验证方式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843626.shtml

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

相关文章

代码随想录算法训练营第二十一天 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 题目链接:https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 文档讲解:https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E7%BB%9D%E5%AF%B9%E…

VMware Workstation 不可恢复错误:(vmui) 错误代码0xc0000094

软件版本 vmware 17 错误情况 VMware Workstation 不可恢复错误:(vmui) Exception 0xc0000094 has occurred. 问题原因 VMware升级到17.0后,将虚拟机环境的【硬件兼容性】升级至Workstation 17.X后,无法修改设备参数。 解决办法 打开需…

企业营收分析难?搞定收入认领月底不加班!

在当今日益激烈的市场竞争中,企业的营收分析不仅是衡量经营成果的关键指标,更是指导企业未来发展的重要依据。然而,对于许多企业来说,营收分析的过程往往繁琐且耗时,尤其是月底结账时,大量的数据和复杂的计…

【Numpy】NumPy基础入门:创建和管理多维数组

NumPy基础入门:创建和管理多维数组 简介 NumPy(Numerical Python的简称)是Python语言的一个基础科学计算库,广泛应用于数据分析、机器学习、科学计算和工程领域。NumPy的核心是其强大的N维数组对象ndarray,它为Pytho…

医疗图像处理2023:Transformers in medical imaging: A survey

医学成像中的transformer:综述 目录 一、介绍 贡献与安排 二、CNN和Transformer 1.CNN 2.ViT 三、Transformer应用于各个领域 1.图像分割 1)器官特异性 ①2D ②3D 2)多器官类别 ①纯transformer ②混合架构 单尺度 多尺度 3)…

fyne表单布局

fyne表单布局 layout.FormLayout就像一个 2 列网格布局 。 package mainimport ("image/color""fyne.io/fyne/v2/app""fyne.io/fyne/v2/canvas""fyne.io/fyne/v2/container""fyne.io/fyne/v2/layout" )func main() {myApp…

electron 如何升级版本

electron-updater使用指南 基础 检测是否最新版 autoUpdater.checkForUpdates() 下载最新版 autoUpdater.downloadUpdate() 项目使用 update.js const { ipcMain } require(electron) const { autoUpdater } require(electron-updater) const path require("pa…

Wpf 使用 Prism 实战开发Day27

首页汇总和数据动态显示 一.创建首页数据汇总数据接口 汇总:待办事项的总数已完成:待办事项里面有多少条完成的待办完成比例:已完成和汇总之间的比例备忘录:显示备忘录的总数待办事项:显示待办事项未完成的集合备忘录&…

②单细胞学习-组间及样本细胞比例分析

目录 数据读入 每个样本各细胞比例 两个组间细胞比例 亚组间细胞比例差异分析(循环) 单个细胞类型亚新间比例差异 ①单细胞学习-数据读取、降维和分群-CSDN博客 比较各个样本间的各类细胞比例或者亚组之间的细胞比例差异 ①数据读入 #各样本细胞…

三、Ollama导入大模型(.Net8+SemanticKernel+Ollama)本地运行自己的大模型

Ollama导入大模型 一、导入Ollama大模型1、使用run命令2、使用Modelfile方式 二、导入自定义大模型(Ollama官网以外的大模型)三、使用OpenWebUI导入大模型 Ollama可以导入官方提供的大模型,也可以导入huggingface上的自定义大模型&#xff08…

【加密与解密(第四版)】第十四章笔记

第十四章 漏洞分析技术 14.1 软件漏洞原理 缓冲区溢出漏洞:栈溢出 堆溢出、整型溢出(存储溢出、计算溢出、符号问题) UAF(Use-After-Free)漏洞 14.2 ShellCode 功能模块:下载执行、捆绑、反弹shell 14.3 …

【NumPy】使用NumPy计算相关系数:详解numpy.corrcoef函数及应用

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

MySQL之性能剖析(二)

MySQL之性能剖析 通过性能剖析进行优化 一旦掌握并时间面向响应时间的优化方法,就会发现需要不断地对系统进行性能剖析(profiling). 性能剖析是测量和分析时间花费在哪里的主要方法。性能剖析一般有两个步骤:测量任务所花费的时间;然后对结果进行统计和…

基础8 探索JAVA图形编程桌面:邮件操作组件详解

在一个静谧的午后,卧龙和凤雏相邀来到一家古朴典雅的茶馆。茶馆内环境清幽,袅袅的茶香与悠扬的古筝声交织在一起,营造出一种宁静而祥和的氛围。 卧龙和凤雏坐在茶馆的一角,面前的桌子上摆放着一套精致的茶具。茶香四溢&#xff0c…

C++ STL 中的自定义比较:深入理解相等和等价

STL 中的自定义比较、相等和等价 一、简介二、STL 的排序部分三、STL 的未排序部分四、比较元素五、实现比较器六、总结 一、简介 本文主要讨论了在 STL 中使用自定义比较函数&#xff0c;以及比较操作中的相等和等价概念。 有如下的代码&#xff1a; std::vector< std::…

HTML并集,交集,子代,后代选择器

1,交集选择器 他们必须满足既是p又是.box的关系&#xff08;直接连写&#xff0c;没有任何符号&#xff09; p.box{color:red; } <div class"box"> 1 </div> <p class"box">2</p> <p>3</p> 2.并集选择器 将div,p,…

【强化学习04】Q学习时序差分法

贝尔曼方程在强化学习中是用来更新Q值&#xff08;动作价值&#xff09;的一个重要工具。下面用小白能理解的方式解释贝尔曼方程是如何更新Q值的&#xff1a; 什么是Q值&#xff1f; 在强化学习中&#xff0c;Q值是用来评估在某个状态&#xff08;state&#xff09;下执行某个…

牛客题目进展

提示&#xff1a;文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近想整理一下牛课进度&#xff0c;顺便看了下表格绘制方法 绘制表格方法&#xff1a;绘制表格 二、 2.1 牛客序号题目知识点难度状态链接其…

【C++】牛客——活动安排

✨题目链接&#xff1a; AB31 活动安排 ✨题目描述 给定&#x1d45b;个活动&#xff0c;每个活动安排的时间为[&#x1d44e;&#x1d456;,&#x1d44f;&#x1d456;)。求最多可以选择多少个活动&#xff0c;满足选择的活动时间两两之间没有重合。 ✨输入描述: 第一行…

北交所的股票交易佣金最低是多少?万分之二算低的吗?

北交所的佣金目前最低是万分之二&#xff0c;不过只有少数证券公司是这个标准。普通股票佣金万1&#xff0c;融资利率是4.0%~5.0%&#xff01; 北交所佣金一般是万分之6&#xff0c;北交所全称是北京证券交易所&#xff0c;是一家公司制交易所&#xff0c;北交所的佣金比普通股…