常见的几种身份验证方法

本文介绍了三种常见的身份验证方法:Session、Token和JWT。Session验证消耗服务器内存,适合初学者;Token验证减轻服务器负担,适用于Vue等项目;JWT则提供加密和签名功能,适用于分布式系统的单点登录。在实际应用中,应考虑安全性、效率和资源占用等因素选择合适的验证方式。
摘要由CSDN通过智能技术生成

常见的几种身份验证方法

在做项目时,我们常常会对登陆用户的合法性进行判断,接下来我就给大家介绍几中常见的身份验证的方法。

1.session校验

最先是session校验,这块一般是初学者最先做的一种校验方式,同时也是比较消耗服务器内存的一种方式。

✒️流程:

  1. 客户端发送登陆者的用户名以及密码,服务器接受到用户名和密码。

  2. 服务器接受到转过来的用户名和密码后,先逻辑判断,假如通过则生成一个session和一个cookie,同时cookie里有一个sessionId,其值为生成的session的唯一身份编号,目的就是下次可以通过cookie直接找到session。

  3. 服务器将cookie返回给客户端保存。

  4. 客户端拿到cookie后,以后每次发起请求时都需要携带cookie发起请求。

  5. 服务器接受到cookie后,先去根据cookie的sessinId找在服务器保存的session,然后进行判断。若判断身份没问题,则返回对应数据,否则返回错误响应。

请添加图片描述

2.token校验

token校验就更高阶一点了,一般在做vue项目的时候,会配合token或者JWT做校验。而且token校验不用保存在服务器上,这样就大大减轻了服务器的内存消耗。

✒️流程:

  1. 客户端发送用户名和密码,交给后台验证。
  2. 服务端拿到用户名和密码后,会进行判断,若验证通过的话,则会生成一个包含用户信息的token字符串,然后传回给客户端。
  3. 客户端拿取到token字符串,一般是会先本地保存,然后再解析。在这之后,每次的数据请求就必须在请求头中包含信息,这样服务端会对token进行验证,验证通过才会返回对应的数据,否则就会返回错误信息。

请添加图片描述

3.JWT验证

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。

在数据传输过程中,还可以完成数据的加密,签名相关处理

请添加图片描述

Jwt原理

拓展

cookie我们一般不用它做验证登陆,它的安全系数不高,而且可以直接js直接获取内容(尽管可以设置httponly但我们也还是不要用它)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抗争的小青年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值