更新时间:2023-09-20 来源:黑马程序员 浏览量:
token也可以称做令牌,一般由uid+time+sign(签名)+[固定参数] 组成。token组成各部分释义如下:
uid: 用户唯一身份标识
time: 当前时间的时间戳
sign: 签名, 使用 hash/encrypt 压缩成定长的十六进制字符串,以防止第三方恶意拼接。
固定参数(可选): 将一些常用的固定参数加入到 token 中是为了避免重复查库。
token在客户端一般存放于localStorage,cookie,或sessionStorage中。在服务器一般存于数据库中。
token的认证流程:
用户登录,成功后服务器返回Token给客户端。
客户端收到数据后保存在客户端。
客户端再次访问服务器,将token放入headers中 或者每次的请求 参数中。
服务器端采用filter过滤器校验。校验成功则返回请求数据,校验失败则返回错误码。
token可以抵抗csrf,cookie+session不行。
session时有状态的,一般存于服务器内存或硬盘中,当服务器采用分布式或集群时,session就会面对负载均衡问题。负载均衡多服务器的情况,不好确认当前用户是否登录,因为多服务器不共享session。
客户端登陆传递信息给服务端,服务端收到后把用户信息加密(token)传给客户端,客户端将token存放于localStroage等容器中。客户端每次访问都传递token,服务端解密token,就知道这个用户是谁了。通过cpu加解密,服务端就不需要存储session占用存储空间,就很好的解决负载均衡多服务器的问题了。这个方法叫做JWT(Json Web Token)。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19