【仿牛客网笔记】项目进阶,构建安全高效的企业服务——Spring Security

news2024/11/18 19:55:44

请添加图片描述
https://spring.io/projects/spring-security
认证判断用户有没有登录。
授权 是访问有没有访问的权限
Spring MVC 的核心组件是DispatcherServlet,所有的组件都是交给DispatcherServlet处理,然后将请求分发给控制器,具体由某个控制器控制请求,控制器可以由多个
Spring MVC相关的内容
请添加图片描述
过滤器和DispatcherServlet的关系就好比,拦截器和Controller之间关系
利用统一的机制,处理系统,利用了JavaEE的规范Filter,顶层有很多的Filter。
请添加图片描述

相对源码和应用有一个更深的了解,推荐网站
http://spring4all.com/
简单模拟实现,尽可能的简单。
准备demo级别的项目,在简单的基础演示Security,学习完后在引入到项目中。
userMapper
请添加图片描述
userService
请添加图片描述
HomeController
请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
加入依赖
请添加图片描述
请添加图片描述
启动后,在还没有登录的时候Spring Security会自带登录界面
请添加图片描述
会在内存中生成账号和密码
请添加图片描述
在业务层进行处理
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
内置认定规则
请添加图片描述
自制的认定规则请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
授权的管理
请添加图片描述
请添加图片描述
请添加图片描述
处理获取成功或失败可以通过两种,一种是通过
请添加图片描述
将参数放入到请求参数上,将请求转发到页面上
请添加图片描述
重定向
请添加图片描述
转发
整个过程一个请求
请添加图片描述
举个例子
请添加图片描述
转发的话复用这个程序。

退出是删除认证
退出时,成功给出一个指示。
当不知重定向和转发的时候可以先用重定向

授权进行配置
请添加图片描述

编写denied路径
拒绝访问的提示页面
请添加图片描述
请添加图片描述
判断一下是否是user,如果是登录成功了。
请添加图片描述
验证验证码是在验证账号密码之前
增加Filter,处理验证码
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述

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

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

相关文章

如何在微信上制作小程序?【制作小程序的方式】

很多人想知道如何在微信上制作小程序,毕竟小程序现在已经成为了我们每天都会使用到的轻应用。在微信上制作小程序之前,要先了解自己想要做出什么的小程序,才能下手开展小程序制作。那么下面就介绍三种如何在微信上制作小程序的方式。 1、懂编…

彻底搞懂SwaggerKnife4j使用方法

(一)、准备 1、SpringBoot项目 说明:前后端分离前提下,前端是一个独立项目,因此该SpringBoot无需添加Thymeleaf依赖! 2、vo类 Employee类: package com.soft.vo;import java.util.Date;publ…

Hadoop与Spark的使用,HBase分布式数据库安装及操作实验

docker pull harisekhon/hbase:1.3 docker run -d --name hbase001 -p 16010:16010 harisekhon/hbase:1.3 进入环境 docker exec -it hbase001 bash hbase shell 按照一个特定的值来查找 hbase(main):003:0> scan students,{FILTER>"ValueFilter(,binary:20202…

Matplotlib教程一

文章目录一.简介二.Mapltlib的简单使用2.1 Pylot的API2.2 Pylab模块2.3 matplotlib简单绘图三.Mapltlib进阶使用3.1 面向对象思想画图3.2 Figure类3.3 Axes类3.4 画布上创建多个子图3.5 图中添加网格3.6 设置图片轴线3.7 保存图片一.简介 matplotlib是最初由John D.Hunter于20…

Shell脚本编程(一) —— 变量定义(用户自定义变量、位置变量、预定义变量、环境变量)

目录 1、用户自定义变量 2、位置变量 3、预定义变量 4、环境变量(一次性全局变量) 5、永久全局变量(重启以后依然存在的变量) (1) 本地变量文件 (2) 全局变量文件 1、用户自定义变量 定义变量: 变量名value …

九、propTypes验证

目标 理解类型验证的必要性 灵活掌握类型验证的使用 知识点 在给react组件传属性的的时候,我们可以定义属性的类型,此时我们需要下载prop-types这个库。 安装prop-types npm install prop-types -S引入和使用 import PropTypes from prop-types;cla…

winform语言切换C#设计笔记(八)

一、修改当前区域性 string languageName“zh-CN”; Thread.CurrentThread.CurrentUICulture new CultureInfo(languageName); 二、定义语言切换类Mullanguage或方法如下&#xff1a; private static Dictionary<string, ResourceManager> ResManagerDic new Dictionar…

【ESP32_8266_WiFi (十五)】ESP8266 OTA 操作说明

文章目录ESP8266 OTA 操作说明1 通过数据线上传初始示例程序2 通过Arduino IDE正确选择OTA端口3 认证并上传程序4 OTA的局限性ESP8266 OTA 操作说明 所谓OTA&#xff0c;就是Over-The-Air的缩写。有人将其翻译为“空中下载”&#xff0c;也有翻译为“隔空传输”。无论如何翻译…

Java高并发编程卷二(二) 锁

文章目录三 锁3.1 偏向锁3.1.1 为啥需要偏向锁&#xff1f;3.1.2 原理3.1.3 解释3.1.4 案例3.1.5 撤销与膨胀3.1.5.1 撤销3.1.5.2 膨胀3.2 轻量级锁3.2.1 为啥需要轻量级锁&#xff1f;3.2.2 原理3.2.3 案例3.2.4 分类3.2.5 膨胀3.3 重量级锁3.3.1 原理3.3.2 对象监视器详细介绍…

zookeeper学习笔记

zookeeper学习笔记1.Zookeeper概念2.Zookeeper命令操作2.1数据模型2.1.1数据结构2.1.2节点类型2.2服务端命令2.3客户端命令-基本命令2.4客户端命令-高级点命令3.Zookeeper JavaAPI操作3.1Cutor介绍3.2Cutor API常用操作-增删改查3.2.1建立连接3.2.2创建节点3.2.3删除节点3.2.4修…

js 回到顶部逻辑实现和elementUI源码解析

回到顶部 大家或多或少都会遇到“回到顶部”这样的需求&#xff0c;在此分享这个技术点以及可能遇到的问题。再分析element源码。 回到顶部代码实现 <!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta http-…

基于PHP+MySQL的个人博客系统毕设

随着时代和网络的发展,人们越来越希望通过多种模式来展示自己。于是个人博客就出现了,它可以更好的让人们来记录自己的工作和学习方式。博客不仅仅可以让自己抒发个人感情,还可以展示自己真实的生活,从而建立起一种友好的交友平台。 PHP个人博客系统毕设系统分为前台和后台两部…

Python每日一练 02

Python每日一练 02 文章目录Python每日一练 02一、对象二、对象属性三、赋值一、对象 Python中所有数字、序列、集合、映射、类、实例、异常、模块、类与类的实例、函数、方法、布尔值、空值等都被称为对象。 二、对象属性 每个对象都有3个基本属性&#xff1a; 类型(type)…

Flink-源算子Source(获取数据源)的使用

5.1 整体介绍 获取执行环境读取数据源定义基于数据的转换操作定义计算结果的输出位置触发程序执行 5.2 创建集成环境 5.2.1 获取执行环境 批处理getExecutionEnvironment 提交命令行设置 bin/flink run -Dexecution.runtime-modeBATCH ...代码 StreamExecutionEnvironme…

pip Command Not Found – Mac 和 Linux 错误被解决

使用Python时&#xff0c;可能需要安装和使用某些软件包。有一个命令可用于’pip‘ 使用pip&#xff0c;您可以安装、升级和卸载各种Python包。在本文中&#xff0c;您将学习如何使用它&#xff0c;以及如何处理pip错误。 如何使用 pip Pip是一个可以在Linux或Mac命令行上使用…

HTTP(http+抓包Fiddler+协议格式+请求+响应)

目录 &#x1f984;1. 了解HTTP &#x1f984;2. 抓包 &#x1f984;3. http协议格式 &#x1f432;3.1 完整的HTTP请求格式 &#x1f432;3.2 完整的HTTP响应的格式 HTTP请求 &#x1f984;4. 认识URL &#x1f984;5. http中的"方法" &#x1f432;5.1…

智能与工程学院2022级计算机朱元华

智能与工程学院 《高级语言程序设计》 小组学习任务书 第 1 次 专业年级&#xff1a; 2022级计算机 指导教师&#xff1a; 朱元华 2022-2023学年 第 1 学期 一、任务 XXX信息管理系统的需求分析和功能设计 二、分组形式 学生自由组合&#xff0c;5-8人为一组&#xff0c;根据…

Tuxera NTFS2023Mac读写ntfs磁盘工具

Tuxera Ntfs for mac2023是Mac中专用于读写外置存储的工具&#xff0c;具有强大的磁盘管理和修复功能&#xff0c;它在Mac上完全读写NTFS格式硬盘&#xff0c;快捷的访问、编辑、存储和传输文件。能够在 Mac 上读写 Windows NTFS 文件系统。Tuxera NTFS 实现在Mac OS X系统读写…

【Spring】——6、按照条件向Spring容器中注册bean

&#x1f4eb;作者简介&#xff1a;zhz小白 公众号&#xff1a;小白的Java进阶之路 专业技能&#xff1a; 1、Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理 2、熟悉Java基础&#xff0c;并精通多线程的开发&#xff0c;熟悉JVM原理&#xff0c;具备⼀定的线…

静态时序分析简明教程(六)]时钟组与其他时钟特性

生成时钟的sdc约束方法一、写在前面1.1 快速导航链接二、时钟组2.1 引入时钟组2.2 set_clock_group2.2.1 -name2.2.2 -group clock_list2.2.3 -logically_exclusive|-physically_exclusive|-asynchronous2.2.4 -allow_path2.2.5 -comment三、其他时钟特性3.1 过渡时间3.2 偏移与…