SpringBoot统一功能处理(统⼀⽤户登录权限验证、统⼀异常处理、统⼀数据格式封装)

news2024/11/15 8:35:26

统⼀⽤户登录权限验证

1、最初的用户登录效验:在每个方法里面获取session和 session 中的用户信息,如果存在用户,那么就认为登录成功了,否则就登录失败了。

2、第二版用户登录效验:提供了统一的方法,在每个需要验证的方法中调用统一的用户登录身份效验方法来判断。

3、第三版用户登录效验:使用Spring AOP来使用统一的用户登录效验。遇到了问题:

a)没有办法得到HttpSession和 Request 对象。

b)实际拦截规则很复杂,使用简单Aspect j表达式无法满足拦截的需求。

4、第四版用户登录效验:Spring拦截器来实现用户的统一登录验证。

a)实现自定义拦截器,实现 Spring 中的 HandlerInterceptor接口中的 preHandle 方法。

b)将自定义拦截器加入到框架的配置中,并且设置拦截规则。

1)给当前的类添加@Configuration 注解

2)实现WebMvcConfigurer接口

3)重写addInterceptors方法

注意:一个项目中可以同时配置多个拦截器。

拦截器步骤1:实现自定义拦截器

拦截器步骤2:将自定义拦截器添加到系统配置中,并设置拦截的规则 

 

此时插入一个小知识点,我们可以给所有地址添加上前缀: 

 

统⼀异常处理

1、给当前的类上加@ControllerAdvice/@RestControllerAdvice

2、给方法上添加@ExceptionHandler(xxx.class),添加异常返回的业务代码

上面我们是针对具体的某一个异常来做处理,异常有很多很多,我们也可以在下面继续穷举各种异常,但是我们就算穷举了所有的异常,但是针对用户自定义的异常我们还是无法进行处理。这个时候,我们可以把所有异常的父类Exception进行统一异常处理,这样就可以处理所有的异常情况了。

 

统⼀数据格式封装

1、给当前类添加@ControllerAdvice。

2、实现 ResponseBodyAdvice重写其方法。

注意:support方法返回一个 boolean值,true表示返回数据之前对数据进行重写,也就是会进入下面 beforeBodyWrite方法。如果返回false,表示对结果不进行任何处理,直接返回数据。 

 

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

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

相关文章

神经网络模型压缩技术—剪枝

目录 1.模型压缩定义 2.模型压缩必要性及可行性 3.模型压缩分类 3.1 主流分类 3.2 前端和后端 4.剪枝 4.1 剪枝定义 4.2 剪枝分类 4.2.1 基于粒度 4.2.2 基于是否结构化 4.2.3 基于目标 5. 结构化剪枝和非结构化剪枝 5.1 非结构化剪枝(移除单个权重或神…

【Python习题集1】Python 语言基础知识

python习题 一、实验内容二、实验总结 一、实验内容 1、运用输入输出函数编写程序,将华氏温度转换成摄氏温度。换算公式:C(F-32)*5/9,其中C为摄氏温度,F为华氏温度。 (1)源代码: ffloat(input(输入华氏温…

swift 技术 监听电话中断

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络&#xff0…

做好FP独立站有6大要点,注意!

跨境电商做FP独立站已经见怪不怪了,但要注意哪些要点才能做好一个成功的FP独立站呢,今天就跟大家聊一聊。 做好FP独立站有6个要点 1.选品 独立站运营选择产品的方向往往是抓住非主流、新奇等特征。不推荐在成熟平台上销售受欢迎的普通商品,…

Elasticsearch详解

文章目录 概览使用与ES交互索引创建索引查询索引删除文档创建修改文档局部修改文档查询文档删除全查询 整合SpringBootpom依赖application.ymlElasticsearchAutoConfigurationElasticsearchPropertiesElasticsearchConstantPersonSearchPageHelperPersonServiceBaseElasticsear…

zabbix 使用自定义命令做监控项

环境:Linux zabbix6 问题:某个监控项的值为linux终端的shell命令输出,需要做一个zabbix自定义监控项 解决办法:参考官方文档使用userparameters方法 背景:我需要监控Linux某个文件夹的文件数量,并设置阈值…

详解c++---stack和dequeue的介绍

目录标题 stack介绍stack的定义stack的数据插入stack中数据的个数stack数据删除stack中数据的查看判断stack对象是否为空stack对象的数据交换queue的介绍queue的定义queue的数据插入frontbackqueue的元素个数queue中元素的删除emptyqueue的数据交换 stack介绍 首先stack是一个…

windows kafka mq 安装和使用介绍 及踩坑记录 及集群架构kafka实现架构 各自运行机制 一次性看明白

目录 介绍 安装集群 简单介绍按照步骤 zookeeper 安装 kafka安装 基础配置3个节点 在配置三个启动bat 重点 常见问题 内存不够配置文件中增加如下 java.io.IOException: Map failed 基础使用 创建主题 查看创建 生产者 消费者 应用场景 kafka一些原理和特点 …

让自动化测试秒杀繁琐操作?试试PO模式设计框架

目录:导读 引言 po模式 优势: 目录解释: 页面对象设计模式: base基础层: page对象层: test:测试层 data数据层: common层: untils: config层: run层:…

救生衣、划船背心、救生圈、U 形救生圈和投掷式浮垫等个人漂浮设备 (PFD)UL报告标准要求

个人漂浮设备 (PFD) 个人漂浮设备 (PFD) 是帮助人们在水中保持漂浮状态的装备。个人漂浮设备是一个范围较大的商品分类,其中包括救生衣、划船背心、救生圈、U 形救生圈和投掷式浮垫 救生衣 救生衣是一种在使用者正确穿戴时可为其提供支持的服装或设备,由…

Redis【性能 01】Redis 5.x 6.x 7.x 共5个不同版本延迟及性能测试对比分析(单机版默认配置)

延迟及性能测试比对分析过程 1.环境说明2.测试结果Version 5.0.3【待优化版本】Version 5.0.7【云服务器使用的版本】Version 5.0.14【5.x最终版】Version 6.2.12【6.x最终版】Version 7.2-rc1【当前最新的发布候选版】 3.汇总分析3.1 延迟测试结果汇总3.1 性能测试结果汇总 4.…

今天 国际青年节 “International Youth Day “

《劝学》孟郊 击石乃有火,不击元无烟。 人学始知道,不学非自然。 万事须己运,他得非我贤。 青春须早为,岂能长少年。 Strike stones to make it burn; No smoke unless you strike. Youre crude if you dont learn; And you…

Syncthing文件同步 - 免费搭建开源的文件自动同步服务器并公网远程访问【私人云盘】

文章目录 1. 前言2. Syncthing网站搭建2.1 Syncthing下载和安装2.2 Syncthing网页测试2.3 注册安装cpolar内网穿透 3. 本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 在数据爆炸的当下,每天都会产生海量的数据,这些…

SQL注入攻防入门详解

毕业开始从事winform到今年转到 web ,在码农届已经足足混了快接近3年了,但是对安全方面的知识依旧薄弱,事实上是没机会接触相关开发……必须的各种借口。这几天把sql注入的相关知识整理了下,希望大家多多提意见。 (对于…

ACIS的拓扑基础数据结构

在ACIS中,拓扑基础数据结构按照从低维到高维的顺序包括: Vertex(顶点):表示空间中的一个点,用于定义点的位置和属性。Edge(边):由两个顶点连接而成,具有方向属性,用于定义直线段和圆弧。Coedge(共面边):表示面的边缘,也就是一条边可以被多个面共享。Coedge有两个…

SpringCloud学习(七)——统一网关Gateway

文章目录 1. 网关介绍2. 网关搭建2.1 引入依赖2.2 创建启动类2.3 编写配置2.4 测试 3. 路由断言工厂4. 路由过滤器4.1 过滤器配置4.2 全局过滤器4.3 过滤器执行顺序 5. 跨域问题处理 1. 网关介绍 到现在,我们可以使用Nacos对不同的微服务进行注册并管理配置文件&am…

淘宝天猫公布618整体活动节奏

5月4日消息,淘宝直播618选品会近日在杭州成功举办,淘宝直播商品中心团队和天猫、全球购行业小二在会上与商家、达人主播等参会人士探讨如何选品才能打动消费者、如何保障货品的质量安全、如何完善商品的售后服务等问题,共同分析直播电商行业中…

verilog驱动LCD显示彩条、字符

verilog驱动LCD显示彩条、字符 一、简介 LCD(liquid crystal display):液晶显示器 TFT:薄膜晶体管 LCD屏幕接口:常见的LCD屏幕接口有:RGB、MCU、LVDS、MIPI等 RGB LCD接口原理图:其中MISO、MOSI是IIC接…

Acjudge #P1004. 整除三元组

蒟蒻来讲题,还望大家喜。若哪有问题,大家尽可提! Hello, 大家好哇!本初中生蒟蒻讲解一下Acjudge #P1004. 整除三元组! 原题 题目背景 潍坊高新OI社区打算开讲“数论”了,大家赶紧来学习一下“整除”吧。 题目描述 …

第一章 数字图像本质及基础操作

系列文章目录 第一章 图像本质及基础操作 文章目录 系列文章目录前言一、数字图像的本质二、图像基础理论1.色彩空间1.1 RGB模型1.2 HSV模型1.3 HSL模型1.4 YUV模型1.5 灰度图1.6 OpenCV中色彩空间转换 2.图片的存储3.图像参数 三、图像的基础操作及OpenCV画图1.图像的基础操作…