学习笔记:黑马程序员JavaWeb开发教程(2025.4.6)

12.4 登录校验-JWT令牌-介绍

JWT(JSON Web Token)

简洁是指JWT是一个简单字符串,自包含指的是JWT令牌,看似是一个随机字符串,但是可以根据需要,自定义存储内容

Header是JSON数据格式,原始JSON变成字符串,需要经过base64编码

数字签名确定安全可靠

一二部分都进行base64编码,三是签名算法

12.7 登录校验-JET令牌-生成和校验

先引入依赖,调用api

链式编程,第一个是设置签名算法和密钥;compact方法拿到字符串类型的返回值

基于Java解析JWT,直接调用Jwts.parser,第一个方法设置密钥;第二个方法传递JWT;第三个方法返回拿到自定义内容,是到claims里面

令牌错误过期都会抛出异常

注意点

12.8 登录校验-JWT令牌-登录后下发令牌

username = #{username},当传入的是一个对象,可以直接用对象里面的属性名,但是#{}里面的值必须与传入的参数一致

在 MyBatis 中,静态方法(static 方法)不能直接使用 @Select 等注解

数据库字段拼接的时候要注意有空格,要不然会拼接到一起

相关推荐
陈文锦丫8 小时前
MQ的学习
java·开发语言
乌暮8 小时前
JavaEE初阶---线程安全问题
java·java-ee
2301_764441338 小时前
Aella Science Dataset Explorer 部署教程笔记
笔记·python·全文检索
爱笑的眼睛118 小时前
GraphQL:从数据查询到应用架构的范式演进
java·人工智能·python·ai
Bathwind-w9 小时前
FOC开发工具学习
学习
Seven979 小时前
剑指offer-52、正则表达式匹配
java
代码or搬砖9 小时前
RBAC(权限认证)小例子
java·数据库·spring boot
青蛙大侠公主9 小时前
Thread及其相关类
java·开发语言
Coder_Boy_9 小时前
DDD从0到企业级:迭代式学习 (共17章)之 四
java·人工智能·驱动开发·学习
2301_768350239 小时前
MySQL为什么选择InnoDB作为存储引擎
java·数据库·mysql