基于redis实现token验证用户是否登陆
发表于:2025-11-24 作者:千家信息网编辑
千家信息网最后更新 2025年11月24日,基于项目需求, 我们要实现一个基于redis实现token登录验证,该如何实现呢:后端实现:1.引入redis相关的依赖 org.springframework.boot spring-boot-st
千家信息网最后更新 2025年11月24日基于redis实现token验证用户是否登陆
基于项目需求, 我们要实现一个基于redis实现token登录验证,该如何实现呢:
后端实现:
1.引入redis相关的依赖
org.springframework.boot spring-boot-starter-data-redis org.springframework.session spring-session-data-redis 2.0.5.RELEASE
2.Controller层生成token信息并存入redis中
//若用户登录验证成功后将对应的登陆信息和登陆凭证一起存入redis中//生成登陆凭证token UUIDString uuidToken= UUID.randomUUID().toString();uuidToken=uuidToken.replace("-",""); //将token和用户登录态之间建立联系redisTemplate.opsForValue().set(uuidToken,userModel);redisTemplate.expire(uuidToken,1, TimeUnit.HOURS); // 下发tokenreturn CommonReturnType.create(uuidToken);3.需要验证的登陆的地方调用即可
String token = httpServletRequest.getParameterMap().get("token")[0]; if (StringUtils.isEmpty(token)) { throw new BusinessException(EmBusinessError.USER_NOT_LOGIN, "用户还未登陆,不能下单"); } //获取用户的登陆信息 UserModel userModel= (UserModel) redisTemplate.opsForValue().get(token); if(userModel==null){ throw new BusinessException(EmBusinessError.USER_NOT_LOGIN, "用户还未登陆,不能下单"); } OrderModel orderModel = orderService.creatOrder(userModel.getId(), itemId, promoId, amount); return CommonReturnType.create(null);前端实现
1.从返回值中取出token并存入localstorage
if(data.status == "success") { alert("登陆成功"); //取出token放入localstorage var token = data.data; window.localStorage["token"] = token; _window.location.href = "listitem.html";}2.验证用户是否登陆
var token = window.localStorage["token"]; if(token == null){ alert("没有登录,不能下单"); _window.location.href="login.html" rel="external nofollow" ; return false; } 3.当然,需要把token传入后端再校验一次
url:"http://"+g_host+"/order/createorder?token="+token,
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
登陆
用户
验证
登录
信息
成功
凭证
生成
之间
内容
前端
地方
就是
需求
项目
学习
帮助
支持
联系
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库超级表
地狱已满建服务器
注册域名了怎么搭建服务器
网络安全都涉及哪些内容
上海管理软件开发免费官方版
修改数据库 用户 使用期限
社保信息软件开发
服务器实际功耗怎么样
姚记科技互联网金融
低年级网络安全教育平台
数据库系统例题
跟谁学网络技术
克拉玛依软件开发联系方式
杭州应用软件开发外包
运用网络技术对学情进行分析
公安局网络安全岗位上机测试
网络安全监测中心建设
医疗器械网络安全风险
sql批量删除数据库数据库
中央网络安全小组介绍
江苏网络软件开发
j软件开发模型
网络安全实践视频
深圳ios软件开发工程师
软件开发学宁夏
搞软件开发算不算科研
联想服务器安全加固模块
计算机软件开发技术服务合同
上海智能服务器客户至上
四川游戏游艺数据库
- 上一篇
[Warning] TIMESTAMP with implicit DEFAULT --explicit_defaults_for_timestamp
2014.9.25本想在MySQL上面做点实验的,可以登录的时候报错(ps:mysql 服务已经是开启的):window 7 64位,MySQL 5.7日志:点击(此处)折叠或打开2014-09-25
- 下一篇
MySQL中存储过程和存储函数的示例分析
这篇文章主要为大家展示了"MySQL中存储过程和存储函数的示例分析",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"MySQL中存储过程和存储函数的示例分析"