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框架也可以,…...
云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...
通过血清拉曼光谱进行COVID-19的高效初步筛查
通过血清拉曼光谱进行COVID-19的高效初步筛查 原创 小王搬运工 时序课堂 2024-06-04 20:04 四川 论文地址:https://analyticalsciencejournals.onlinelibrary.wiley.com/doi/full/10.1002/jrs.6080 论文源码:无 期刊:JOURNAL OF RAMAN SPE…...
Java 性能调优与监控工具详解
在Java开发中,性能调优和监控是确保应用程序高效、稳定运行的关键环节。本文将详细介绍Java性能调优的基本原则和常用的监控工具,并通过代码示例帮助读者理解如何进行实际操作。 一、性能调优的基本原则 在开始调优之前,了解以下基本原则是…...
LeetCode 1633, 122, 239
目录 1633. 各赛事的用户注册率题目链接表要求知识点思路代码 122. 买卖股票的最佳时机 II题目链接标签思路代码 239. 滑动窗口最大值题目链接标签思路代码 1633. 各赛事的用户注册率 题目链接 1633. 各赛事的用户注册率 表 表Users有字段user_id和user_name。表Register有…...
(十五)统计学基础练习题九(选择题T401-450)
本文整理了统计学基础知识相关的练习题,共50道,适用于想巩固统计学基础或备考的同学。来源:如荷学数据科学题库(技术专项-统计学三)。序号之前的题请看往期文章。 401) 402) 403) 4…...
用大白话讲解下 CNN和卷积核( 百度 AI 回答 )
CNN(卷积神经网络)和卷积核在图像处理中扮演着非常重要的角色。咱们来用大白话解释一下它们。 首先说CNN,它就像是一个聪明的机器,专门用来识别图片里的东西。CNN里面有很多层,每一层都有很多小单元,这些小…...
安全生产新篇章:可燃气体报警器检验周期的国家标准解读
随着工业化进程的加快,安全生产成为了重中之重。 可燃气体报警器作为预防火灾和爆炸事故的重要设备,其准确性和可靠性直接关系到企业的生产安全和员工的生命财产安全。 因此,国家对可燃气体报警器的检验周期有着明确的规定,以确…...
github搭建个人博客
准备工作 windows安装nodejs windows安装git windows安装hexo 拥有gitee个人账户 配置信息 通过gitee创建博客仓库 登录gitee平台,进入主界面,右侧加号,新建仓库,注意:仓库名称和gitee用户名称一致 生成/添加 SSH 公…...
Linux系统之mv命令的基本使用
Linux系统之mv命令的基本使用 一、mv命令介绍1. mv命令简介2. mv命令的使用结果 二、mv命令的使用帮助1. 在命令行的帮助信息2. mv常用选项 三、mv命令的基本使用1. 创建源目录和目标目录2. 新建测试文件3. 将源目录文件复制到目标目录4. 将文件进行改名5. 将目录的所有文件转移…...
vscode 好用的插件
转中文插件 Chinese 官网:Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code - Visual Studio Marketplace vue文件模板快速生成 Vue VSCode Snippets 官网:Vue VSCode 代码段 - Visual Studio Marketplace...
什么是蓝牙定位车载GPS终端
蓝牙定位车载GPS终端是一种集成了蓝牙技术和GPS定位功能的车载设备。这种终端不仅可以通过GPS卫星信号进行室外定位,还能利用蓝牙技术在室内环境中进行定位,实现室内外一体化的定位服务。以下是一些关于蓝牙定位车载GPS终端的关键特点和功能:…...
外包网站建设报价/口碑营销什么意思
1 函数对象精髓:可以把函数当成变量去用# func内存地址 定义一个函数, 实际就是给函数开辟一个内存空间def func():print(from func)1.1 可以赋值def func():print(from func)ffunc # 把func的内存地址赋值给f, 注意, 这里不能用ffunc(), 这就变成了把函数的返回值赋…...
网站建设公司汕头的/短视频优化
继承的两个抽象类里面的两个抽象方法如下:public abstract class Capacity{public abstract int passengerCapacity(int e[], int d);public abstract int carryingCapacity(int s[], int b);}主类调用并实现功能:import java.util.Scanner;public class…...
备案 网站首页url/磁力岛引擎
监控对于我们来说到底有多重要? 网络监控是企业IT运维中必不可少的重要一环,传统的监控工具以监控各个服务的健康和性能为中心。而随着数字化时代的到来,我们需要一个更加全面的监控视图,能够把不同环境下所有资源间的流量信息进行…...
广州做企业网站的公司/商城小程序开发哪家好
我正在处理一个我无法编辑的第三方PHP库,它已经运行了将近一年.它对远程服务器的响应使用simplexml_load_string.最近,它一直在阻止大量的回应.这是房地产列表的数据R_301_349,格式如下所示:sysid 1 2 3 4 5 6 252370080 Residential 0.160 No ADDR0 06051252370081…...
如何做p2p网站/百度竞价排名价格
1.完整的安全策略应该包括实时的检测和响应 2.入侵检测的定义:是指对计算机网络或计算机系统的若干关键点进行信息收集并对其进行分析, 如审计记录、安全日志、用户行为与网络数据包等,以便发现计算机或网络系统中是否勋在违反安全策略的行为…...
政府网站开发需求文档/网站排名优化方法
http请求默认值: http cookie管理器: 单个注册: 批量化注册示例01: 批量化注册示例02: 登录: 充值: 查看结果树: 保存测试结果、示例:...