笔记——什么是鉴权

前言

鉴权是自动化测试路上的拦路虎;故以此记录鉴权到底是怎么回事。

一、什么是鉴权,为什么要鉴权

  1. 鉴权:是指验证用户是否有访问系统的权利。
  2. 为什么要鉴权 :对用户进行鉴权,防止非法用户占用网络资源,非法用户接入网络,被骗取关键信息

二、鉴权方式

  1. HTTP Basic Authentication
  2. OAuth(开发授权)
  3. session + cookie
  4. token

三、session + cookie

1.鉴权流程
**在这里插入图片描述
**
2. 鉴权过程详解

a、 用户注册的时候,客户端提交用户名和密码,服务端会存储用户名和密码,为了防止被脱库,密码存储一般会进行加密存储,不i如md5、rsa加密等待
b.、注册完成后,用户发起登录,客户端提交用户名和密码,服务端会对用户提交的数据进行校验(用户名就和密码是否正确),若正确服务端会根据用户信息(用户id,用户名,user_agent等)创建一个session,并存储在数据库中(一般是存储在redis中),保存好后,服务端会将这个session通过响应头的Set-cookie字段返回给客户端。
c.、客户端收到服务器的响应,浏览器会自动将响应头Set-cookie的内容添加到请求头的cookie中(代码实现要手动添加,如果使用其他创建session的方式自动添加),在请求其他接口时会始终携带这个请求头。
d.、服务端收到客户端发起的请求后,会从请求头中将session提取出来与之前存储在Redis中的session进行对比,如果一致就返回对应的接口数据给客户端,不一致或者是超时则不返回接口数据给客户端
session鉴权的缺点就是服务端存储压力较大,需要大量的存储空间来存储session,因此token鉴权应运而生

四、token鉴权

  1. 鉴权流程
    在这里插入图片描述
  2. 鉴权过程详解
    a、用户发起登录,客户端提交用户名和密码,服务端会对用户提交的数据进行校验,校验通过以后此时会提取用户的关键信息(比如用户名密码、用户id、时间戳等信息进行排序,然后再进行签名运算)通过特定的算法生成token,然后将这个token放到响应头里面返回给客户端。
    b、客户端收到响应结果,然后就会从响应结果中获取token(这个步骤是有前端工程师完成),然后将token放到请求头token字段中(通常情况是这个字段,由后端决定),再去请求其他接口
    c、服务端再次收到客户端请求,此时服务端会去请求头中提取出token,然后对token进行解签,获取到用户关键信息,再去数据库查询是否存在该用户。但凡这个token被修改过,解签就会失败,鉴权就自然失败了
    d、服务端鉴权成功就会返回对应接口数据更黑客户端,鉴权失败就不会返回随影数据
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于 jQuery 的事件,我可以和你分享一些学习笔记。 1. 绑定事件 在 jQuery 中,我们可以通过以下方式来绑定事件: ``` $(selector).event(function(){ // 事件处理程序 }) ``` 其中,`selector` 表示要绑定事件的元素,`event` 表示要绑定的事件类型,比如 `click`、`mouseover` 等等。事件处理程序则是在事件触发时要执行的代码块。 2. 多个事件绑定 我们可以通过 `on()` 方法来同时绑定多个事件: ``` $(selector).on({ event1: function(){ // 事件处理程序1 }, event2: function(){ // 事件处理程序2 } }) ``` 这样,当 `event1` 或 `event2` 中任意一个事件触发时,对应的处理程序都会被执行。 3. 解除事件 如果需要解除某个元素的事件处理程序,可以使用 `off()` 方法: ``` $(selector).off(event); ``` 其中,`event` 表示要解除的事件类型。如果不指定事件类型,则会解除该元素上所有的事件处理程序。 4. 事件委托 在 jQuery 中,我们可以使用事件委托来提高性能。事件委托是指将事件绑定到父元素上,而不是绑定到子元素上,然后通过事件冒泡来判断是哪个子元素触发了该事件。这样,当子元素数量较多时,只需要绑定一次事件,就可以监听到所有子元素的事件。 ``` $(selector).on(event, childSelector, function(){ // 事件处理程序 }) ``` 其中,`selector` 表示父元素,`event` 表示要绑定的事件类型,`childSelector` 表示要委托的子元素的选择器,事件处理程序则是在子元素触发事件时要执行的代码块。 以上是 jQuery 中事件的一些基本操作,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值