详细介绍:【040-安全开发篇】JavaEE应用SpringBoot框架JWT身份鉴权打包部署JARWAR

news/2026/1/18 11:59:34/文章来源:https://www.cnblogs.com/ljbguanli/p/19498142

详细介绍:【040-安全开发篇】JavaEE应用&SpringBoot框架&JWT身份鉴权&打包部署JAR&WAR

思维导图

在这里插入图片描述
在这里插入图片描述

知识点:

1、JavaEE-SpringBoot-身份鉴权-JWT技术
2、JavaEE-SpringBoot-打包部署-JAR&WAR

章节点

3、Java:
功能:数据库操作,文件操作,序列化数据,身份验证,框架开发,第三方组件使用等.
框架库:MyBatis,SpringMVC,SpringBoot,Shiro,Log4j,FastJson等
技术:Servlet,Listen,Filter,Interceptor,JWT,AOP,反射机制待补充
安全:SQL注入,RCE执行,反序列化,脆弱验证,未授权访问,待补充
安全:原生开发安全,第三方框架安全,第三方组件安全等,架构分析,待补充

演示案例

SpringBoot-身份鉴权-JWT技术
SpringBoot-打包部署-JAR&WAR

SpringBoot-身份鉴权-JWT技术

JWT(JSON Web Token)是由服务端用加密算法对信息签名来保证其完整性和不可伪造;
Token里可以包含所有必要信息,这样服务端就无需保存任何关于用户或会话的信息;
JWT用于身份认证、会话维持等。由三部分组成,header、payload与signature。
类似这些↓
在这里插入图片描述

懂开发的一般会使用jwt而不是使用类似cookie或者session等技术,当然现在也有新的技术,是我们以后的发展方向(不过jwt仍是流行的身份鉴权技术之一)

  1. 浏览器发送携带用户名和密码post请求到服务端。
  2. 服务器端创建带有JWT凭证信息。
  3. 返回jwt给浏览器
  4. 浏览器发送JWT想访问要授权的页面
  5. 服务器检查浏览器端的jwt,从JWT获取其中的用户信息。
  6. 发送响应给客户端。在这里插入图片描述

参考:https://blog.csdn.net/weixin_62091520/article/details/149971250我精挑细选过的文章,不错的
实践部分

mvnrepository仓库,选择组件的时候选有漏洞(别选最新的),进行复现。
1、引入依赖

<dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>3.4.0</version></dependency>

2、创建JWT

JWT.create()

3、配置JWT

JWT.create()
//header
.withHeader(map)
//payload
.withClaim("userid",id)
.withClaim("username",user)
.withClaim("password",pass)
//signature
.sign(Algorithm.HMAC256("xiaodisec"));

4、解析JWT

//构建解密注册
JWTVerifier jwt = JWT.require(Algorithm.HMAC256("xiaodisec")).build();
//解密注册数据
DecodedJWT verify = jwt.verify(jwtdata);
//提取解密数据
Integer userid = verify.getClaim("userid").asInt();

5、安全问题
参考:https://blog.csdn.net/zz12345600354/article/details/139166880同样是我挑选

小迪上课使用的网站→JWT在线解码与生成

SpringBoot-打包部署-JAR&WAR

参考:https://mp.weixin.qq.com/s/HyqVt7EMFcuKXfiejtfleg
SpringBoot项目打包在linux服务器中运行:
①jar类型项目
jar类型项目使用SpringBoot打包插件打包时,会在打成的jar中内置tomcat的jar。
所以使用jdk直接运行jar即可,jar项目中功能将代码放到其内置的tomcat中运行。
②war类型项目
在打包时需要将内置的tomcat插件排除,配置servlet的依赖和修改pom.xml,
然后将war文件放到tomcat安装目录webapps下,启动运行tomcat自动解析即可。

报错情况:在这里插入图片描述
**解决办法:**注意看configuration这部分,把skip代码块改成false/删除,或加上mainClass代码块部分
在这里插入图片描述

报错解决:
https://blog.csdn.net/Mrzhuangr/article/details/124731024
https://blog.csdn.net/wobenqingfeng/article/details/129914639
1、maven-clean-package
2、java -jar xxxxxx.jar

  1. pom.xml加入或修改:
<packaging>war</packaging>
  1. 启动类里面加入配置:
public class TestSwaggerDemoApplication extends SpringBootServletInitializer
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(TestSwaggerDemoApplication.class);
}
  1. maven-clean-package
  2. war放置tomcat后启动

JAVAEE源码架构:
无源码下载泄漏风险基本不能直接从web下载到源码
源码泄漏也需反编译如果不小心你获得到了jar包的话,也需要反编译→直接压缩,然后将压缩文件在ide中打开。
↑只有class文件需要反编译才能得到.java文件

时间戳

  1. 文档讲解——00:00:00
  2. SpringBoot-打包部署-JAR&WAR——00:03:28
  3. SpringBoot-打包部署-JAR&WAR——1:04:07
  4. 安全开发篇的思维导图的绘制——1:27:01

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

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

相关文章

机械行业如何利用百度UE的JS截屏功能优化设计文档导入?

企业级文档处理解决方案 作为贵州教育行业集团的项目负责人&#xff0c;针对贵司在后台管理系统中增加Word粘贴和文档导入的需求&#xff0c;我提供以下专业解决方案&#xff0c;完全满足信创国产化要求。 技术架构设计 系统架构图 [客户端] ←HTTPS(SM4/AES)→ [网关层] ←…

CSS盒子模型:网页布局的基石与艺术

一、什么是盒子模型&#xff1f;每个HTML元素在浏览器中都被渲染为一个矩形盒子。CSS盒子模型描述了这些盒子如何构成&#xff1a;从内容区域开始&#xff0c;依次添加内边距、边框和外边距。理解盒子模型是掌握CSS布局的第一步。想象一下俄罗斯套娃&#xff1a;最内层&#xf…

射频-驻波比的理解

驻波比等于1时候说明馈线和天线的阻抗完全匹配:此时高频能量全部辐射出去,没有能量反射损耗。 驻波比大于1时候,表示有一部分反射回来 驻波比无穷大时候:表示全反射,

Gemini CLI快速运维

Gemini CLI快速运维使用Google CLI 可以在服务器上使用命令行调用Gemini API,这样就可以让AI自主抉择,并且方便AI自己读取文件,读取日志,读取执行命令的输出信息,避免了人为频繁在服务器和WEB版AI之间来回复制、粘…

Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南

Linux 基础开发工具详解(Yum, Vim, GCC, Make, GDB, Git) - 指南2026-01-18 11:54 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

组合螺丝专业供应商靠谱吗,东层紧固件有哪些信任背书? - 工业品牌热点

一、基础认知篇 问题1:什么是组合螺丝?专业供应商需要具备哪些核心能力? 组合螺丝是将螺丝、弹垫、平垫预组装成一体的紧固件,安装时无需单独装配垫圈,能大幅提升装配效率,广泛应用于汽车、电子、钣金、新能源等…

复合式分板机国内选哪个厂家的产品好? - 工业品牌热点

随着电子制造行业对PCBA分板精度、效率要求的不断提升,复合式分板机作为兼顾铣削与切割优势的核心设备,逐渐成为SMT、汽车电子、医疗器械等领域的刚需。本文围绕复合式分板机哪家技术成熟、源头工厂哪家好、国内厂家…

Godot Win32

Godot Win32Godot windows 上使用的是 Windows API 编程模型(也称为 Win32 API 编程) Win32 API 编程

极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据集 交通路锥检测数据集 路面标识交通引导线 车道线检测数据集]

1.植物病虫害类数据集 玉米叶片病虫害数据集 /玉米虫害数据集 水稻叶片及虫害/大豆/小麦/苹果/柑橘葡萄/南瓜/樱桃/荔枝/农业病虫害类等等等 ** 2.交通类数据集** 极端天气数据集 恶劣天气数据集 雾天道路行驶数据集 黑夜情境下的交通数据集 红绿灯检测数据集 疲劳驾驶检测数据…

芯片制造企业网页如何集成百度开源上传组件实现文件夹上传?

前端老炮的20G文件夹上传大冒险&#xff08;附部分代码&#xff09; 各位前端同仁们&#xff0c;我是老张&#xff0c;一个在辽宁苦哈哈写代码的"前端民工"。最近接了个活&#xff0c;客户要求用原生JS实现20G文件夹上传下载&#xff0c;还要支持IE9&#xff01;这简…

14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统

14.2 去中心化协同与导航:基于LIVEPOINT框架的无死锁多机器人系统 14.2.1 引言:中心化规划的局限与去中心化自治的需求 多机器人系统在仓库物流、园区配送、工业巡检等场景中的应用潜力巨大。传统解决方案多采用集中式架构,由一个中央服务器为所有机器人计算全局最优路径。…

机械制造行业网页如何用html5实现文件夹上传?

大文件上传方案设计与实现&#xff08;政府信创环境兼容&#xff09; 方案背景 作为北京某软件公司的开发人员&#xff0c;我负责为政府客户实现一个兼容主流浏览器和信创国产化环境的大文件上传系统。当前需求是支持4GB左右文件的上传&#xff0c;后端使用PHP&#xff0c;前…

14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作

14.3 任务分配与协同操作:从市场拍卖到分布式优化的多机器人协作 14.3.1 引言:多机器人系统中的任务分配问题 多机器人系统的效能不仅取决于单个机器人的能力,更关键的是如何将一组任务高效、合理地分配给群体中的成员,并协调它们之间的操作以避免冲突、发挥协同效应。这…

基于SpringBoot+Vue网络办公自动化系统的设计与实现

博主主页&#xff1a;一点源码 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视

15.1 机器人控制的伦理、安全与社会影响:技术成熟度伴随的责任审视 15.1.1 引言:从技术可行性到社会可接受性 机器人技术,特别是具备自主决策与行动能力的先进机器人系统,正从受控的工业环境快速渗透至开放的公共空间与人类社会生活场景。这一演进将机器人控制的核心议题…

hadoop集群搭建 (超详细) 接入Impala、Hive,AI 大模型的数据底座 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

仓库管理软件哪个好用,有没有最简单的出入库系统

常有人询问哪种仓库管理系统最为出色&#xff0c;或者哪一款是最佳选择。然而&#xff0c;从产品角度来看&#xff0c;并无绝对的最佳&#xff0c;只有最适合自身需求的系统。市面上仓库管理系统种类繁多&#xff0c;功能多样&#xff0c;操作简便与复杂并存&#xff0c;适用对…

15.2 技术融合与未来展望:AI、新材料与生物交叉驱动下的新形态与新能力

15.2 技术融合与未来展望&#xff1a;AI、新材料与生物交叉驱动下的新形态与新能力 15.2.1 引言&#xff1a;范式融合的必然性与驱动力 机器人技术的发展历来遵循一条清晰的主线&#xff1a;通过对感知、决策与执行能力的迭代升级&#xff0c;拓展其在物理世界中的作用范围与自…

skill-creator详细且实用的教程

下面是详细且实用的教程,教你怎么用 Github 上的 Anthropics Skills 仓库里的 skill-creator 来创建自己的 Claude Skills,这里面包括: ✅ 环境准备 ✅ 安装 skill-creator ✅ 使用示例(含完整提示词) ✅ 写 Skil…

研究生必看:导师让改AI率?这份超全攻略帮你顺利过关

研究生必看&#xff1a;导师让改AI率&#xff1f;这份超全攻略帮你顺利过关 TL;DR&#xff1a;导师让你改AI率&#xff1f;别急。这份攻略从理解检测原理到实操降AI&#xff0c;手把手教你搞定。核心工具推荐嘎嘎降AI&#xff08;达标率99.26%&#xff09;和比话降AI&#xff0…