• 常见的几种身份验证方法


    常见的几种身份验证方法

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

    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但我们也还是不要用它)。

  • 相关阅读:
    ElementUI的bug/方案/使用技巧合集,持续更新(最新22-7-4)
    Pandas 数据可视化
    java计算机毕业设计商店管理系统源码+系统+mysql数据库+lw文档+部署
    Redis 集群
    PhalAPI学习笔记拓展篇 ——— 基于MySQL数据库交互题目
    从零开始学CAPL
    网页翻译软件-网页自动采集翻译软件免费
    开源电商项目 Mall:构建高效电商系统的终极选择
    AcWing 836. 合并集合 —— 递推递归一起食用效果更佳哦~
    128. 最长连续序列
  • 原文地址:https://blog.csdn.net/liyuchenii/article/details/127108646