news 2026/2/7 0:19:55

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【040-安全开发篇】JavaEE应用SpringBoot框架JWT身份鉴权打包部署JARWAR

思维导图


知识点:

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

//构建解密注册JWTVerifierjwt=JWT.require(Algorithm.HMAC256("xiaodisec")).build();//解密注册数据DecodedJWTverify=jwt.verify(jwtdata);//提取解密数据Integeruserid=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自动解析即可。

  • Jar打包

报错情况:
**解决办法:**注意看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

  • War打包
  1. pom.xml加入或修改:
<packaging>war</packaging>
  1. 启动类里面加入配置:
publicclassTestSwaggerDemoApplicationextendsSpringBootServletInitializer@OverrideprotectedSpringApplicationBuilderconfigure(SpringApplicationBuilderbuilder){returnbuilder.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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 12:27:18

纯电动汽车仿真:从模型搭建到动力性与经济性分析

纯电动汽车仿真、纯电动公交、纯电动客车、纯电动汽车动力性仿真、经济性仿真。 模型包括电机、电池、车辆模型。 有两种模型2选1&#xff1a; 1 完全用matlab simulink搭建的模型。 2用simscape搭建的车辆模型。 项目开发使用的模型&#xff0c;精确度高&#xff0c;不是随便乱…

作者头像 李华
网站建设 2026/2/3 3:49:00

新能源控制器中多峰值MPPT寻优仿真模型探索

新能源控制器&#xff0c;多峰值mppt寻优仿真模型&#xff0c;传统扰动电导等寻优无法用在局部遮阴下&#xff0c;而粒子群pso算法克服了这个问题&#xff0c;可用于自行研究。 压缩包附带使用说明及解析文档&#xff0c;包括传统扰动与粒子群算法模型。在新能源领域&#xff0…

作者头像 李华
网站建设 2026/2/5 3:35:12

双向DC/DC磷酸铁锂蓄电池充放电储能的Matlab/Simulink仿真模型探索

双向DC/DC磷酸铁锂蓄电池充放电储能matlab/simulink仿真模型&#xff0c;采用双闭环控制&#xff0c;充放电电流&#xff0c;电压和功率均可控&#xff0c;电流为负则充电&#xff0c;电流为正则放电&#xff0c;可以控制电流实现充放电 &#xff08;1&#xff09;完整复现文献…

作者头像 李华
网站建设 2026/2/5 18:37:42

含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度探索

含多种需求响应及电动汽车的微网/虚拟电厂日前优化调度3 关键词&#xff1a;需求响应 空调负荷 电动汽车 微网优化调度 虚拟电厂调度 参考文档&#xff1a;《计及电动汽车和需求响应的多类电力市场下虚拟电厂竞标模型》参考其电动汽车模型以及需求响应模型&#xff1b; 《S…

作者头像 李华
网站建设 2026/2/3 7:43:16

论文查重AI率工具排行榜:9大检测平台+标准推荐

论文查重AI率工具排行榜&#xff1a;9大检测平台标准推荐AI论文工具核心特点速览工具名称查重效率降重能力适用场景特色功能aicheck⚡⚡⚡⚡⚡⭐⭐⭐⭐高重复率论文快速降重专业术语保留率高aibiye⚡⚡⚡⚡⭐⭐⭐⭐⭐学术论文深度改写逻辑结构优化askpaper⚡⚡⚡⭐⭐⭐日常论文…

作者头像 李华