国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Redis > 正文

基于redis實現token驗證用戶是否登陸

2020-10-28 21:29:20
字體:
來源:轉載
供稿:網友

基于項目需求, 我們要實現一個基于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,

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武安市| 石狮市| 海淀区| 铁岭市| 古浪县| 西青区| 乳山市| 会理县| 武冈市| 抚州市| 旌德县| 石城县| 尚义县| 清河县| 南郑县| 灌阳县| 海门市| 雷波县| 山阳县| 凤阳县| 克拉玛依市| 卢龙县| 自贡市| 张掖市| 庄浪县| 会泽县| 石屏县| 和田市| 乌拉特前旗| 班戈县| 临西县| 镇雄县| 固镇县| 泊头市| 天等县| 东宁县| 永康市| 卢氏县| 洪湖市| 珠海市| 凤冈县|