前端-session、jwt
创始人
2025-06-01 22:54:58
0

目录:

 

(1)session

(2)jwt校检流程

(3)jwt签名原理

(4)css


(1)session

 

 

发送一个请求:

获取数据请求,没有携带sessionid:

 携带sessionid:

(2)jwt校检流程

session做用户登录验证

http请求时无状态的,需要发送多次请求,我们不希望每次请求都携带用户名和密码,我们只希望用户名和密码只验证一次,验证成功之后呢,我们把它登录成功的状态记录下来,在后续的请求里看看它有没有登录成功的标记,如果有我们就放行,让它让问受限的资源,没有的话再重新去验证用户名和密码

 用session实现登录的验证,对单体项目是合适的,当时你开发的是分布是的项目,那么session技术就有点不合适了,采而采用jwt来进行登录的验证:

 

发送请求,生成toncken: 

 校验toncken:

 (3)jwt签名原理

 从以上程式可以发现,在Java用Base64一点都不难,不用几行程式码就解决了!只是这个sun.mis c套件所提供的Base64功能,编码和解码的效率并不太好,而且在以后的Java版本可能就不被支援了,完全不建议使用。

 

以上的程式码看起来又比早期用sun.mis c套件还要更精简,效能实际执行起来也快了不少。缺点是需要引用Apache Commons Codec,很麻烦

 与sun.mis c套件和Apache Commons Codec所提供的Base64编解码器来比较的话,Java 8提供的Base64拥有更好的效能。实际测试编码与解码速度的话,Java 8提供的Base64,要比sun.mis c套件提供的还要快至少11倍,比Apache Commons Codec提供的还要快至少3倍。因此在Java上若要使用Base64,这个Java 8底下的java .util套件所提供的Base64类别绝对是首选!

 

tocken前面header和数据用了Base64进行了编码,我们在解码查看一下: 

 tocken具有安全性,是因为签名可以保证tocken数据不被篡改

当客户端继续把toncken发送给服务器的时候,能不能把tocken内容做一下修改,来欺骗服务器,

比如说zhang这个名字用户,只能做有限的操作,那么有admin这个用户,权限较大,能不能把tocken中内容这一部分做一下修改,来欺骗服务器呢?

发送请求的时候进行替换:

 

 

 

服务器校验失败:

 签名是根据前两部分和一个秘钥生成的签名,前面两部分是知道的但是秘钥我们是不知道的

校验的时候会根据内容的签名值,和它预先生成的签名值不一致就说明内容发生了篡改

(4)css

 

 

 

 

 

 

 

display属性:

 

 

template标签(模板标签):一开始并能没有在页面显示,他要结合js代码,js可以读到模板这段代码,动态的加到div标签中

 点击按钮:把form表单动态的加到out的div内

 

 

 

 

 

上一篇:linux入门---制作进度条

下一篇:没有了

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...