时间:2021-05-23
基于项目需求, 我们要实现一个基于redis实现token登录验证,该如何实现呢:
后端实现:
1.引入redis相关的依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> <version>2.0.5.RELEASE</version></dependency>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,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
项目中需要实现人脸登陆功能,实现思路为在前端检测人脸,把人脸照片发送到后端识别,返回用户token登陆成功前端调用摄像头使用tracking.js检测视频流中的
php实现用户登陆简单实例前言:最近要完成的最后一个部分,就是对用户提交的数据进行管理,至于管理,那肯定就是管理员的事了,那一定涉及登陆,验证账号权限,账号是否
SpringBoot下token短信验证登入登出(token存放redis)不对SpringBoot进行介绍,具体的可以参考官方文档介绍:token基本使用,r
Session登陆与Token登陆的区别1、Session登陆是在服务器端生成用户相关session数据,发给客户端session_id存放到cookie中,这
下面是ASP.NET如何判断当前请求是否是Ajax请求的代码: /// ///Description:验证用户是否登陆 /// /// prote