博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTTP Authorization
阅读量:7120 次
发布时间:2019-06-28

本文共 922 字,大约阅读时间需要 3 分钟。

谨以此文献给那些需要实现HTTP AUTH的“程序猿”们。

关于HTTP AUTH的文档不多。

RFC在 http://www.ietf.org/rfc/rfc2617.txt

wiki在 http://en.wikipedia.org/wiki/Basic_access_authentication

使用HTTP AUTH需要在server端配置http auth信息(一般是webserver启动的时候从配置文件里面读取相关信息)。我用中文简述一下http auth的过程:

  • 客户端发送http请求
  • 服务器发现配置了http auth,于是检查request里面有没有"Authorization"的http header
  • 如 果有,则判断Authorization里面的内容是否在用户列表里面,Authorization header的典型数据为"Authorization: Basic jdhaHY0=",其中Basic表示基础认证, jdhaHY0=是base64编码的"user:passwd"字符串。
  • 如果没有,或者用户密码不对,则返回http code 401页面给客户端
  • 标准的http浏览器在收到401页面之后,应该弹出一个对话框让用户输入帐号密码;并在用户点确认的时候再次发出请求,这次请求里面将带上Authorization header

一次典型的访问场景是:

  • 浏览器发送http请求(没有Authorization header)
  • 服务器端返回401页面
  • 浏览器弹出认证对话框
  • 用户输入帐号密码,并点确认
  • 浏览器再次发出http请求(带着Authorization header)
  • 服务器端认证通过,并返回页面
  • 浏览器显示页面

使用http auth的场景不会用cookie,也就是说每次都会送帐号密码信息过去。然后我们都知道base64编码基本上等于明文。这削弱了安全。

由于种种缺点,http auth现在用的并不多。不过在路由器等场合还是有应用的,原因是http auth最简单,使用起来几乎是零成本。

在你需要做访问控制,又不想拖上SSO、数据库之类的东西的时候,http auth不失为一个简洁的选项。

转载地址:http://wxiel.baihongyu.com/

你可能感兴趣的文章
JDK自带内存及线程分析工具
查看>>
2019重庆整治金融乱象出实招:依法处置高风险机构 推进网络借贷风险专项整治...
查看>>
助力春运 重庆机场今晨新增一架飞机入列
查看>>
刘海I关于iPhone X 的适配
查看>>
对比了上百个python程序员的开发习惯,这10个方法最节省时间!
查看>>
斐讯音响突然走红,原来它的秘密是这个!
查看>>
维密天使糖糖传授自拍秘籍,最满意自拍来自OPPO R11s
查看>>
重磅!谷歌Fuchsia操作系统将支持运行Linux应用程序
查看>>
险些被吓到!白宇代言新品万元荣耀8X售价原因揭秘
查看>>
冲动是魔鬼!国庆换机如何不花冤枉钱?
查看>>
杭州街头惊现“梦想改造家”,ATM取款区变废为宝
查看>>
百度Apollo发布智能驾驶商业化解决方案
查看>>
2018年预测:GPU数据库或是未来的数据库统治者!
查看>>
「每天一道面试题」谈String和StringBuffer、StringBuilder区别
查看>>
统计局:去年12月天然气、电力生产增长较快
查看>>
房租抵扣个税不用再填房东信息 房东这下放心了吗?
查看>>
大湾区足球联赛港澳赛区上演进球大战
查看>>
又一巨头布局区块链,360区块猫上线,你不想拥有一只零代猫吗
查看>>
[译] Scala 类型的类型(一)
查看>>
Swift iOS : 代码分析DrawController
查看>>