当前位置: 首页 > news >正文

token

token验证流程:

①客户端使用用户名和密码请求登录。

②服务端收到请求,验证用户名和密码。

③验证成功后,服务端会生成一个token,然后把这个token发送给客户端。

④客户端收到token后把它存储起来,可以放在cookie或者Local Storage(本地存储)里。

⑤客户端每次向服务端发送请求的时候都需要带上服务端发给的token。

⑥服务端收到请求,然后去验证客户端请求里面带着token,如果验证成功,就向客户端返回请求的数据。
 

token的验证机制

a. 用设备mac地址作为token

客户端:客户端在登录时获取设备的mac地址,将其作为参数传递到服务端

服务端:服务端接收到该参数后,便用一个变量来接收,同时将其作为token保存在数据库,并将该token设置到session中。客户端每次请求的时候都要统一拦截,将客户端传递的token和服务器端session中的token进行对比,相同则登录成功,不同则拒绝。

此方式客户端和服务端统一了唯一的标识,并且保证每一个设备拥有唯一的标识。缺点是服务器端需要保存mac地址;优点是客户端无需重新登录,只要登录一次以后一直可以使用,对于超时的问题由服务端进行处理。

b. 用sessionid作为token

客户端:客户端携带用户名和密码登录

服务端:接收到用户名和密码后进行校验,正确就将本地获取的sessionid作为token返回给客户端,客户端以后只需带上请求的数据即可。

此方式的优点是方便,客户端不用存储数据,缺点就是当session过期时,客户端必须重新登录才能请求数据。

当然,对于一些保密性较高的应用,可以采取两种方式结合的方式,将设备mac地址与用户名密码同时作为token进行认证。

http://www.lryc.cn/news/110411.html

相关文章:

  • 利用awk筛选给定时间范围内的日志
  • ORACLE字符集概念学习
  • 时间复杂度、空间复杂度实践练习(力扣OJ)
  • JMeter(二十四)、使用吞吐量控制器实现不同的用户操纵不同的业务
  • 8.1Jmeter5.1:Jmeter SSL
  • 7-7 找最小的字符串 (15 分)
  • Red Hat 安装MySQL 8.0与 Navicat
  • 17游刃有余:动手实现自己的RPC框架(三)
  • c语言——求n之内的素数和
  • 【M波段2D双树(希尔伯特)小波多分量图像去噪】基于定向M波段双树(希尔伯特)小波对多分量/彩色图像进行降噪研究(Matlab代码实现)
  • unity TextMeshPro 富文本
  • 【PyTorch】PyTorch、Cuda 的安装和使用
  • 1.初识typescript
  • iPhone 6透明屏是什么?原理、特点、优势
  • prometheus+grafana进行服务器资源监控
  • EventBus 开源库学习(三)
  • zjzcyList.stream().map(Pb_zjzcy::getZjid).collect(Collectors.toList()); 解释一下
  • 车载总线系列——J1939 二
  • 【C#学习笔记】引用类型(2)
  • 【Rust 基础篇】Rust类函数宏:代码生成的魔法
  • Spring-1-透彻理解Spring XML的Bean创建--IOC
  • 【JAVA】类和对象
  • jenkins准备
  • 【Rust】Rust学习
  • Linux 常用命令之配置环境变量 PATH
  • flask-----蓝图
  • 学习左耳听风栏目90天——第一天 1-90(学习左耳朵耗子的工匠精神,对技术的热爱)【洞悉技术的本质,享受科技的乐趣】
  • 后端登录安全的一种思路
  • 【深度学习_TensorFlow】激活函数
  • 机器学习笔记之优化算法(七)线搜索方法(步长角度;非精确搜索;Wolfe Condition)