-
鉴权
- 鉴权: 判断某用户是否有权访问服务器上的资源
- 例如;
- 用户需要登录之后才可以访问一些特定的界面
- 某些页面需要token才可以访问
- HTTP是无状态的
- 早期的web只需要提供信息给访问者就行了,不需要记录状态,浏览器和服务器不能凭借HTTP协议来辨别请求的上下文
- 服务器是不能识别浏览器发出的请求是否之前发过
- 鉴权思路
- 一种: 将身份信息保存在服务器.
- 例如: 取快递的时候,报出快递号就可以查看是否有这个快递
- 快递点就是服务器,自己是客户端
- 二:种 将身份信息保存在客户端.
- 例如: 游乐园门票,使用门票后,在门票上面打孔,但门票在自己手上
- 自己是客户端,服务器是游乐园
- 一种: 将身份信息保存在服务器.
- 鉴权实现步骤
- 怎么让服务器认识你,明白你是谁
- 用户登录之后,得到能表明身份的凭证,下次请求或请求其他页面,带上这个凭证我就可以访问,不带凭证就不能访问,因为服务器不认识你
-
鉴权的方式有三种(cookie,session,token)
-
cookie(甜饼)
- 是存在于浏览器上的一种浏览器本地存储的方式, 存储一些不重要的信息,大小为4K
- 同域名下的 cookie 不同标签页可以共享, 默认过期时间是浏览器关闭时
- 进行 HTTP 请求时, 会自动带上浏览器全部的 cookie 发给后台, 后台也可以获取 cookie, 设置可以在响应时, 向浏览器中设置 cookie。
- 可以通过浏览器查看某个网站的cookie
- 因为cookie可以人为的设置和修改查看,所以一些重要信息无法在cookie上储存,因为是不安全的
- cookie的修改和查看
-
- cookie在检查元素中可以进行查看,双击中间的name和value可以进行修改和增加,一般cookie保存一些无关紧要的信息和请求
-
cookie鉴权方案
- 分析思路
- 用户登录成功,服务器设置cookie
- 用户下次请求会自动加上cookie,服务器解析cookie,判断是否登录
- 用户退出,服务器删除cookie
-
-
案例准备(结构,代码,安装包)
-
用到的npm包
-
npm install cookie-parser
npm install express
下面cookie代码演示默认:已安装这两个包
-
- index.html代码
-
<!DOCTYPE html> <
-
-
- 分析思路
-
cookie,session,JWT(token)
最新推荐文章于 2024-07-23 09:11:23 发布
本文详细介绍了HTTP鉴权的三种常见方式:Cookie、Session和JWT。内容包括它们的工作原理、优缺点及应用场景。通过案例分析,阐述了如何在Node.js环境中实现这些鉴权机制,并对比了它们之间的差异,强调了JWT作为现代应用中更常见的选择。
摘要由CSDN通过智能技术生成