常见的几种身份验证方法

常见的几种身份验证方法

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

1.session校验

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

✒️流程:

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

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

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

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

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

session校验

2.token校验

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

✒️流程:

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

token校验原理

3.JWT验证

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

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

JWT验证原理

Jwt原理

拓展

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

posted @ 2022-09-29 16:03  抗争的小青年  阅读(698)  评论(0编辑  收藏  举报