何为http auth?

http auth是一种基础的用户验证,原理是将用户名:密码base64加密后放在http的请求头部Authorization 发给服务器。

浏览器的做法

当你访问一个需要http auth验证的资源时,web server会去检查你的http请求头并且比对帐号密码,如果不成功就会相应的所请求的资源,否则就会返回401,浏览器在接收到401时会自动打开一个登陆窗口让你登陆,点击提交后会将输入的用户名密码base64加密后放在请求头部再次发送这次请求。

缺点

很明显,如果别人获取了你的http请求内容,将Authorization请求头解密后就能获得帐号密码,所以一般来说,http auth都是基于https的。

为什么会用到 http auth?

restful api

restful api 的一个特点即无状态,每次对敏感资源的访问都需要进行登陆验证,可以用http auth来很好的开发restful api。

纯js的ajax实现http auth验证。

懂了http auth的原理就很简单了,这里一个例子。

function get() {let xhr=null;if(window.XMLHttpRequest){xhr=new XMLHttpRequest();}else{xhr=new ActiveXObject("Microft.XMLHttp");}let data = {"username":'lyt',"password":'771251091'};xhr.open('GET','/api/user_info');xhr.onreadystatechange = function () {if(xhr.readyState == 4 && xhr.status == 200){alert(xhr.responseText);}};xhr.setRequestHeader("Authorization","Basic "+window.btoa("username:password")); //重点再此xhr.send();}

HTTP AUTH验证相关推荐

  1. mongodb 安装和配置auth验证

    为什么80%的码农都做不了架构师?>>>    安装 brew install mongodb mongodb 配置 启动 brew services start mongodb 创 ...

  2. mongodb 主从配置,带auth验证模式

    2019独角兽企业重金招聘Python工程师标准>>> 一 简介说明 主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故 ...

  3. laravel auth.php,Laravel 自带的Auth验证登录方法

    在laravel有自带的登录验证.只要建立对应的表和配置一些文件就能够使用,无需开发者自己去实现登录逻辑. 第一步:配置方面 在config下的auth.php配置guards 和 providers ...

  4. Laravel - Auth验证流程以及guard守卫和自定义驱动driver驱动,使用web-token验证

    不同认证方式 我们先来看 config/auth.php provider providers 数组让我们可以配置一个提供者,每个提供者可以选择不同的 driver.driver可以选择eloquen ...

  5. 微信开发总结1——关于微信企业号API,Auth验证

    最近在开发微信的一些功能,如企业号的开发,做一些OA的功能,内容包括公文传阅.流程审批等功能. 1.到https://qy.weixin.qq.com注册一个企业号.成功后会分配一个CorpID和一个 ...

  6. Postman中Basic Auth验证

    也可以直接在Headers中新增一个Key: Authorization, Value: Basic xxxx: 如下图所示: 同理:如果是JWT Token验证,写法为: request.AddHe ...

  7. Laravel框架使用Auth进行登录验证

    进行登录验证的话,Auth 可以进行方便的验证,所需代码只有几行,并且只需要修改一些配置便可以进行验证(大佬勿喷) 首先要进行接值,把视图传来的账号和密码进行接收 // 定义控制器public fun ...

  8. Django (auth模块、User对象、用户认证、线上-用户认证)

    一.auth模块 django.contrib.auth中提供了许多方法,这里主要介绍其中的三个: authenticate()    提供了用户认证,即验证用户名以及密码是否正确,一般需要usern ...

  9. ASP.NET的MVC中使用Session做身份验证(附代码下载)

    场景 ASP.NET中MVC编程模式简介与搭建HelloWorld项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10679 ...

最新文章

  1. 网络工程师成长日记365-IBIS西安工程回忆录
  2. linux获取网卡的ip,Windows和Linux系统下获取多网卡的ip地址
  3. Php基础正则表达式篇
  4. 参考文献中会议名称怎么缩写_期刊缩写查询总结
  5. 小程序 | 微信小程序二级选择器
  6. 理解 python 装饰器
  7. 两个线程同时从服务器接收消息_Linux高性能服务器处理框架
  8. 解决苹果手机点击返回键页面不刷新问题
  9. Python 中的注意点_s2
  10. 音乐播放插件Aplayer+WebAPI的使用【附下载】
  11. php的对象和数组应该学js,JavaScript数组与对象的常用方法及 json 的序列化
  12. 如何在appconfig中配置服务的ip
  13. unity 录制游戏内视频(1)
  14. 烽火计划-2020年夏-期末总结
  15. 跟论文作者要源码和数据集的邮件怎么写
  16. oracle modeler 使用,Navicat Data Modeler使用教程八:图表版面下
  17. zmq pub/sub使用详解
  18. 入侵检测系统原理和实践
  19. Hugging Face(1)——Transformer Models
  20. Svelte 实现 keypress 快捷键功能

热门文章

  1. 如何使用wink框架_如何使用Wink Lookout将Wink Smarthome变成安全系统
  2. 小皮面板(phpstudy_pro)无法启动mysql的解决方法
  3. Hadoop生态系统基本介绍
  4. UFT连接MySQL ODBC
  5. C/C++指针详解之提高篇
  6. 测试高考体育成绩的软件,高考体育测试提前准备!考生最关心的评分标准等问题解答...
  7. 删除二维列表中的dominated元素
  8. Spring Security是什么? - 密码认证(四)
  9. JZOJ 5947. 【NOIP2018模拟11.02】初音未来(miku)
  10. Android Studio 入门(转)