当前位置: 首页 > news >正文

Spring Security3.0.1版本

前言:

抽象Spring Security3.0上一篇

在上一篇中,我们完成了对Security导入,快速入门,和对自动配置的简单验证

对登录流程的分析和Security基本原理

补充:

先解决上一篇留下的问题,端口和端点的区别

端点的英文是end-point

端口的英文是port

在官方文档中,任何端点官方定义,点进去后↓

                                                                         大标题叫授权 HttpServletRequest

端点的定义问题就解决了,我们采用官方对端点的定义是HttpServletRequest

端点是个名,它的核心所描述的是HttpServletRequest,一种标准下请求路径

端口所描述的是什么呢?

上一篇说过用bug补充定义

这期解释下怎么用bug补充,而不是单单看bug

首先这个bug需要可以复刻,不能复刻你连怎么发生的都不知道

其次就是日志内容,idea里的日志和浏览器F12的网路配置要会看

还记得我们是怎么找到端口的吗?

拜托,你肯定早忘了,所以下面的内容是让你回忆起如何找到端口,并通过端口进入Security官方提供的登录页面

第一步,启动项目

第二步,查看日志,找到端口的英文单词

这两个日志对应的内容是一样的

然后我们用这个端口去访问Security的页面

127.0.0.1:8084(port)  /  localhost:8084(port)

第一步,随便打开一个浏览器

第二步,输入127.0.0.1:8084(port)  /  localhost:8084(port) 其中一个

ps:确保你的项目是启动的

它会自动跳转到login端点

试试看, 把port删掉,再运行

回车

哦!

拒绝访问了,再加上它port,注意是冒号:后面跟port

这个东西有它可以访问端点,没有它不能访问端点,这个像什么呢?

钥匙~

不知道你们有没有玩过这种游戏,就是那种可以选节点然后触发不同剧情的游戏

开局,就是我们使用端口进入游戏,后面的每个节点步骤就是端点

几乎所有游戏都可能这么去理解,开启客户端调用端口,选择模式选用端点

想更进一步了解的可以看看这篇文章访问百度的过程详解_访问百度网站查询资料时,计算机网络经过了哪些步骤来获取资料?-CSDN博客

总结:端点与端口是钥匙和门的关系

正片:

到了这里Security官方的入门已经完成了,进入下一页,才怪

@EnableWebSecurity 
@Configuration
public class DefaultSecurityConfig {@Bean@ConditionalOnMissingBean(UserDetailsService.class)InMemoryUserDetailsManager inMemoryUserDetailsManager() { String generatedPassword = // ...;return new InMemoryUserDetailsManager(User.withUsername("user").password(generatedPassword).roles("ROLE_USER").build());}@Bean@ConditionalOnMissingBean(AuthenticationEventPublisher.class)DefaultAuthenticationEventPublisher defaultAuthenticationEventPublisher(ApplicationEventPublisher delegate) { return new DefaultAuthenticationEventPublisher(delegate);}
}

这串代码还没看呢。。。

Spring Boot Security Auto Configuration

Spring Boot安全自动配置  - - - - -   这个是官方的小标题

配置的内容是什么?对应上面的那一大坨Hello Spring Security :: Spring Security Reference (springdoc.cn)官方文档

好了,现在才是真正意义上完成了第二步(了解Security的自动配置)

第三步(认识架构)

第一步,还是打开官方文档

架构 :: Spring Security Reference (springdoc.cn)

第二步,看大标题

架构

第三步,开始看内容

本节讨论了 Spring Security 在基于 Servlet 的应用程序中的高级架构。我们在参考资料中的 认证(Authentication)、授权(Authorization) 和 防止漏洞 部分建立了这种高层次的理解。

这段话的核心只有一个,Spring Security 在基于Servlet(Java Web)的应用程序中的高级架构。只要看懂了这句话,整篇的文章易如反掌

先拆分:

原文:This section discusses Spring Security’s high-level architecture within Servlet based applications

Spring Security

Service应用程序

高级架构

将他们在组合一次

Spring Security基于Service应用程序高级架构

这个翻译一点都不信达雅(吐槽)

This section discusses Spring Security’s high-level architecture within Servlet based applications

看看原文,我们来一下离谱的中文翻译版本

本节将讨论 Spring Security高层架构 基于 Servlet 的应用程序

这些就没那么绕了,把上面的图片更新一下

奥~原来这句话的核心只有一个,那就是Z高级架构(high-level architecture

所谓的Spring Security,Servlet 的应用程序 只不过是对高层架构的形容,障眼法

high-level architecture  高层架构,哇哦~

单看中文好简单!一点都不难~

拷贝啦,真的好难啊,又是高级架构又是高层架构,这他丫谁懂啊,家人们!

有时候真经只有寥寥几字但是却包含了全部内容,实际上high-level architecture这个词是一个计算机应用术语,是一个专有名词——高层体系结构才是它最贴近原文的翻译

高层体系结构(High Level Architecture,HLA)是从体系结构上建立这样一个框架,它能尽量涵盖M&S领域中所涉及的各种不同类型的仿真系统,并利于它们之间的互操作和重用。同时能适应不断发展中的新技术,来满足复杂大系统的仿真需要。对采用HLA体系结构的仿真系统,仿真系统的运行和仿真成员之间的交互和协调都是通过运行支撑系统RTI (Run Time Infrastructure)来实现的。 RTI的实现及其运行的性能好坏,是分布交互仿真系统实现的关键。

就这么一段,没错就这么一段,这么一看貌似更复杂了,方向选错路白走。

很显然这个描述需要有一定悟性,我悟性有点低,悟不出,所以换个方向,我们直接用他们的总结,如果您有水平,可以试着从这段句话分析出总结

HLA体系结构是一个开放的、支持面向对象的体系结构。它采用面向对象的方法学来分析系统,建立不同层次和粒度的对象模型,从而促进了仿真系统和仿真部件的重用。 HLA的关键组成部分是接口规范,它定义了在一个联邦演练中,支持联邦成员通过RTI实现成员之间相互交互、协调和协同作业的标准服务。它的最显著的特点就是通过提供通用的、相对独立支撑服务程序,将应用层同其底层支撑环境功能分离开,即将具体的仿真功能实现、仿真运行管理和底层传输三者分离开来,隐蔽了各自的实现细节,可以使各部分相对独立的开发,最大程度地利用各自领域的最新技术来实现标准的功能和服务,适应新技术的发展。同时,可实现应用系统的即插即用,易于新的仿真系统的集成和管理,并针对不同的用户需求和不同的应用目的,实现联邦快速、灵活的组合和重配置,保证了联邦范围内的互操作和重用。

RTI作为联邦执行的核心,其功能类似于某种特殊目的的分布式操作系统,跨计算机平台、操作系统和网络系统,为联邦成员提供运行所需的服务。 RTI提供六种服务,即联邦管理、声明管理、对象管理、所有权管理、时间管理和数据分布管理等服务。

哦↑乌↓

这段特点就清晰多了

HLA体系结构是一个开放的、支持面向对象的体系结构。

我们的Servlet 的应用程序就是一个体系结构,剩下的内容都在描述这个体系结构是怎么样的

HLA的关键组成部分是接口规范,它定义了在一个联邦演练中,支持联邦成员通过RTI实现成员之间相互交互、协调和协同作业的标准服务。

这样看太抽象了,换个方向

到了这里,站长感觉这个简介也不算难,还真可以通过简介退出结论

这期先到这里

相关文章:

Spring Security3.0.1版本

前言: 抽象Spring Security3.0上一篇 在上一篇中,我们完成了对Security导入,快速入门,和对自动配置的简单验证 对登录流程的分析和Security基本原理 补充: 先解决上一篇留下的问题,端口和端点的区别 端…...

网络报文协议头学习

vxlan:就是通过Vxlan_header头在原始报文前面套了一层UDPIP(4/6)Eth_hdr 需求背景:VXLAN:简述VXLAN的概念,网络模型及报文格式_vxlan报文格式-CSDN博客 如果服务器作为VTEP,那从服务器发送到接…...

颜色与纹理

1 将非坐标数据传入顶点着色器 当执行gl.drawArrays()函数时,存储在缓冲区对象中的数据将按照其在缓冲区中的顺序依次传给对应的attribute变量。在顶点着色器中,我们将这两个attribute变量分别赋值给的gl_Position和gl_PointSize,就在指定的位置绘制出指定大小的点了。 1.…...

pytest-playwright 插件的使用

引言 在自动化测试领域,Playwright 是一个强大的工具,它支持 Chromium、Firefox 和 WebKit 三大浏览器引擎。Playwright 提供了与 Pytest 集成的插件,使得编写端到端测试变得更加简单和高效。本文将介绍如何使用 Pytest Playwright 插件来编…...

基于springboot实现智慧校园之家长子系统项目【项目源码】计算机毕业设计

基于springboot实现智慧校园之家长子系统演示 SpringBoot框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SpringBoot,在JavaWeb开发中使用的流行框架有SSH、SpringBoot、SpringMVC等,作为一个课题程序采用SSH框架也可以&#xff0c…...

云WAF的安全审计功能

云WAF(Cloud Web Application Firewall)是一种部署在云端的专业网络安全解决方案,它为Web应用程序提供强力的保护,通过检测和阻止恶意流量、攻击和漏洞,确保Web应用程序的安全性和可用性。在安全审计方面,云…...

第十七章 创建Web客户端 - 其他调整

文章目录 第十七章 创建Web客户端 - 其他调整其他调整使用生成的 Web 客户端类示例 1:使用使用包装消息的客户端示例 2:使用使用未包装消息的客户端 第十七章 创建Web客户端 - 其他调整 其他调整 如果 WSDL 未指定 Web 服务的位置,则 SOAP …...

学习java的日子 Day52 多表联合查询,DCL,数据类型,约束,索引,视图

Day52 1.DML-多表联合查询(重要) 1.1 一对一情况 略 1.2 一对多情况 当需要查询多个表中的字段时,就可以使用表连接来实现。表联接分为内连接和外连接 内连接:将两个表中存在联结关系的字段符合联结关系的那些记录形成记录集的联结 外连接:…...

计算机视觉(CV)的教程、相关项目

计算机视觉(CV)是一个广泛而深入的领域,其教程和项目众多。以下是针对计算机视觉(CV)的教程和相关项目的一个清晰概述: 教程 入门教程: OpenCV入门:OpenCV是一个开源的计算机视觉库,提供了大量用于图像和视频处理的函数。可以通过OpenCV的官方文档或在线教程来学习其…...

mysql in 逗号分隔_数据库字段是逗号分隔的查询(FIND_IN_SET(str,strlist)方法的使用)

使用函数FIND_IN_SET(str,strlist)--(推荐) 函数介绍:返回在strlist中str字符串通过“,”分隔成列表后所在的位置(索引),如 SELECT FIND_IN_SET("c", "a,b,c,d,e"); 返回3(索引从1开始) 有了这个方法再回到之前的sql语句可以变成如下: select name,bra…...

【Python】 将日期转换为 datetime 对象在 Python 中

基本原理 在 Python 中,处理日期和时间的库是 datetime,它提供了广泛的功能来处理日期和时间。datetime 模块中有一个 datetime 类,它可以用来表示日期和时间。有时,我们可能会遇到需要将日期字符串转换为 datetime 对象的情况&a…...

dpdk-19.11 arm64 环境适配 Mellanox CX4 网卡

环境信息 cpu: arm64 架构 dpdk 版本:19.11 glibc 版本:2.17 网卡型号: Mellanox CX4 网卡,详细 pci 信息如下: 02:00.0 Ethernet controller: Mellanox Technologies MT27710 Family [ConnectX-4 Lx] 02:00.1 Ether…...

1141. 查询近30天活跃用户数

1141. 查询近30天活跃用户数 题目链接:1141. 查询近30天活跃用户数 代码如下: # Write your MySQL query statement below select activity_date as day,count(distinct user_id) as active_users from Activity where activity_date between 2019-06-…...

11_JavaWeb监听器

文章目录 监听器1.监听器的分类2.application域监听器案例 监听器 概念:后端要发生一些事情的时候,自动触发一些代码的执行; 1.监听器的分类 web中定义八个监听器接口作为监听器的规范,这八个接口按照不同的标准可以形成不同的分类 按监听的…...

jmeter常用的断言

包括(Contains):响应内容包括需要匹配的内容即代表响应成功,支持正则表达式 匹配(Matches):响应内容要完全匹配需要匹配的内容即代表响应成功,大小写不敏感,支持正则表达…...

Opencv Python图像处理笔记二:图像变换、卷积、形态学变换

文章目录 前言一、几何变换1.1 缩放1.2 平移1.3 旋转1.4 翻转1.5 仿射1.6 透视 二、低通滤波2.1 均值滤波2.2 高斯滤波2.3 中值滤波2.4 双边滤波2.5 自定义滤波 三、高通滤波3.1 Sobel3.2 Scharr3.3 Laplacian3.4 Canny 四、图像金字塔4.1 高斯金字塔4.2 拉普拉斯金字塔 五、形…...

使用若依框架RuoYi前后端分离版+运行+自动生成页面进行导入进行开发+工具(完整版)

若依后台预览 摘要: 随着前后端分离开发模式的流行,越来越多的开发者开始将项目的前端和后端分离开发,以提高开发效率和项目的灵活性。若依框架作为一款优秀的开源后台管理系统,提供了强大的权限管理和代码生成功能,非常适合前后端分离开发。 一、若依框架介绍 若依框架…...

开源博客项目Blog .NET Core源码学习(29:App.Hosting项目结构分析-17)

本文学习并分析App.Hosting项目中后台管理页面的按钮管理页面。   按钮管理页面用于显示、新建、编辑、删除页面按钮数据,以便配置后台管理页面中每个页面的工具栏、操作栏、数据列中的按钮的事件及响应url。按钮管理页面附带一新建及编辑页面,以支撑新…...

2021 hnust 湖科大 计组课设 包含multisim14连线文件,报告,指导书

2021 hnust 湖科大 计组课设 包含multisim14连线文件,报告,指导书 描述 hnust计组课设要用到的东西都在里面了 下载链接 https://pan.baidu.com/s/1tHooJmhkrwX47JCqsg379g?pwd1111...

CHATGPT升级plus(已有账号前提下)

注册wildcard(虚拟卡) 注册号账号后先进行充值,充值后选择CHATGPT一键升级按照他的流程来即可 Wildcard网址:Wildcard跳转注册 填写邀请码充值时少两美金合计14¥ 邀请码:OL3QXTRH...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes&#xff0…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

【Linux】自动化构建-Make/Makefile

前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...