HTTP BASIC AUTH
来源:互联网 发布:mac用户文件夹改名 编辑:程序博客网 时间:2024/05/23 10:18
谨以此文献给那些需要实现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://blog.csdn.net/wwwsq/article/details/7255062
0 0
- HTTP BASIC AUTH
- apache 配置http basic auth
- Nginx教程:HTTP Auth Basic模块的使用
- Nginx下配置Http Basic Auth保护目录
- HTTP验证大法(Basic Auth,Session, JWT, Oauth, Openid)
- Nginx下配置Http Basic Auth保护目录
- Apache Basic Auth
- Python 编码Basic Auth
- 详细解释:nginx中ngx_http_auth_basic_module模块(HTTP Auth Basic 模块)配置及各个参数含义 .
- AFNetWorking 请求头的配置用来完成HTTP Basic Auth的鉴权
- HTTP AUTH 那些事
- HTTP AUTH验证
- <login-config><auth-method>BASIC</auth-method></login-config>
- 不论是 Basic Auth 还是 Digest Auth,都会有 Authorization 字段
- nginx basic auth 登陆验证模块
- ios开发使用Basic Auth 认证方式
- iOS 开发之Basic Auth认证
- HttpClient BA认证 basic auth 实例
- Java中final关键字的使用
- 第1讲:The nature of Testing--测试的本质
- Struts2 设置定时器监听销毁session(若干秒后自动返回首页)
- 使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
- 数据库设计中的14个技巧
- HTTP BASIC AUTH
- 做纯粹的 Android
- 【后缀数组】 POJ Milk Patterns
- python抓取伯乐在线的所有文章,对标题分词后存入mongodb中
- android中Activity的四种加载模式
- jquery学习笔记-购物车表单简单实现
- Bitlocker
- As of ADT 14, resource fields cannot be used ad switch cases. Invoke this fix to get more informatio
- freemarker 在FreeMarker中使用JSP标签