- 0
- 0
- 约1.12千字
- 约 9页
- 2026-02-09 发布于陕西
- 举报
主讲人:杜春林springboot动态网站开发8.2综合项目模块一开发
效果图如下是前后台登录页面,登录逻辑共用,登录上传的参数中会提交是前台/后台标识,后端逻辑就会进行不同的权限赋值等操作。后台登录前台登录
前端提交路径及参数请求路径:http://localhost:8080/login请求参数:{“loginAccount”:“user”,//用户名“password”:“123456”,//密码“userType”:1,//登录类型0(管理员)1普通用户“_t”:1759565651//时间戳}返回结果:{success:true,message:操作成功!,code:1000,data:{token:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ……}}提交请求之后,根据接口返回数据判断是否登录成功,不成功则进行显示提示语,如:用户名不存在;
成功则返回对应Token,这是后续进行其他操作的关键,进行权限验证。
后端逻辑处理获取提交参数中的用户名、密码、类型,构造mybatis-plus中的QueryWrapper查询语句进行验证,返回一个用户对象。
后端逻辑处理用户存在,进行密码验证,将上传的密码和加密盐进行解密,验证结果是否匹配,并进行相应提示语的返回。
后端逻辑处理密码验证成功,使用用户id、密码进行token的生成,并添加到返回json数据中。
Token生成这段代码的核心功能为生成用户身份令牌(JWT)并存储到Redis;具体含义如下:使用HMAC256对称加密算法,以用户手机号userPhone作为密钥(密钥具有唯一性,确保签名安全性)。通过JWT.create()创建令牌构建器,使用withClaim(userId,userId)向令牌中嵌入用户ID(自定义数据)。调用sign(algorithm)用HMAC256算法签名,生成最终的JWT字符串(包含三部分:头部、载荷、签名)。将令牌存入Redis,键的格式为`常量前缀+userId`(如`“user:token:1001”`),便于后续根据用户ID查询令牌。设置过期时间为360天,之后自动失效。
本章小结本章主要对登录操作进行了讲解。首先讲解了前台提交参数;然后讲解了后台逻辑判断处理;最后Token生成原理。通过本章的学习,希望大家可以掌握对SpringBoot中JWT知识运用,为后续更深入学习SpringBoot做好铺垫。本章小结
谢谢观看!
原创力文档

文档评论(0)