国产探花免费观看_亚洲丰满少妇自慰呻吟_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,

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 莎车县| 专栏| 乐昌市| 蒙自县| 西乌珠穆沁旗| 蕉岭县| 垦利县| 顺平县| 新田县| 亚东县| 浏阳市| 临桂县| 水富县| 台湾省| 葫芦岛市| 漠河县| 靖宇县| 柞水县| 邵阳市| 泽州县| 阜康市| 屯留县| 洞头县| 大关县| 安吉县| 道孚县| 梅河口市| 长治市| 金湖县| 建瓯市| 新龙县| 桐柏县| 长垣县| 济源市| 万荣县| 玉树县| 莆田市| 井研县| 尚义县| 兴海县| 荃湾区|