Basic认证: 当客户端与服务器端进行请求时,允许通过用户名和密码实现的一种身份认证方式.

// 如果一个页面需要Basic认证,它会检查请求报文头中的Authorization字段的内容,该字段的值由认证方式和加密值构成:
$ curl -v "http://user:pass@www.baidu.com/"
> GET / HTTP/1.1
> Authorization: Basic dXNlcjpwYXNz
> User-Agent: curl/7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
> Host: www.baidu.com
> Accept: */*// 在Basic认证中,它会将用户和密码部分组合: username + ":" + password。然后进行Base64编码,如下所示:
var encode = function (username, password) {return new Buffer(username + ":" + password).toString('base64');
};// 如果用户首次访问该网页,URL地址中也没有携带认证内容,那么浏览器会响应一个401未授权状态码:
function (req, res){var auth = req.headers['authorization'] || '';var paths = auth.split(' ');var method = parts[0] || '';  // Basicvar encoded = parts[1] || '';  // dXNlcjpwYXNzvar decoded = new Buffer(encoded, 'base64').toString('utf-8').split(":");var user = decoded[0];  // uservar pass = decoded[1];  // passif (!checkUser(user, pass)) {res.setHeader('WWW-Authenticate', 'Basic realm="Secure Area"');res.writeHead(401);} else {handle(req, res);}
}

详情参考《深入浅出Node》P193~P194

Node --- Basic认证相关推荐

  1. Apache 配置 Basic 认证

    /** 环境:WAMP( Windows7 + WampServer2.2(Apache 2.2.21)) */ 配置过程: ① 生成用户文件,文件路径可以使用绝对路径,也可以使用相对路径 进入 ap ...

  2. [ASP.NET MVC] 利用自定义的AuthenticationFilter实现Basic认证

    很多情况下目标Action方法都要求在一个安全上下文中被执行,这里所谓的安全上下文主要指的是当前请求者是一个经过授权的用户.授权的本质就是让用户在他许可的权限范围内做他能够做的事情,授权的前提是请求者 ...

  3. java basic认证_Basic认证

    Basic 概述 Basic 认证是HTTP 中非常简单的认证方式,因为简单,所以不是很安全,不过仍然非常常用. 当一个客户端向一个需要认证的HTTP服务器进行数据请求时,如果之前没有认证过,HTTP ...

  4. springboot-springSecurity 之 http Basic认证 (四)

    引言: HTTP基础认证(BA)是一种简单的认证机制.当一个web客户端需要保护任何web资源的时候,服务器会发送一个带有401状态码(未授权)的HTTP回应,还有类似WWW-Authenticate ...

  5. (chap8 确认访问用户身份的认证) BASIC认证(基本认证)

    1. BASIC认证是Web服务器与同喜客户端之间进行的认证方式. 2. 步骤 step1. 当请求的资源需要BASIC认证时,服务器会随状态码401Authorization Required,返回 ...

  6. HTTP使用BASIC认证的原理及实现方法

    一.   BASIC认证概述 在HTTP协议进行通信的过程中,HTTP协议定义了基本认证过程以允许HTTP服务器对WEB浏览器进行用户身份证的方法,当一个客户端向HTTP服务 器进行数据请求时,如果客 ...

  7. Basic认证方式访问url

    同学们,今天我们来了解一下Basic认证.Basic认证在访问WebApi时需要验证账号密码,它是最基础的验证之一.通常我们裸奔一个服务的url,如果被别有用心的人拿到了,那么他就能无限调用接口操作数 ...

  8. java 发送带basic认证的http post请求实例代码_图解HTTP学习笔记(八)—确认访问用户身份的认证...

    某些 Web 页面只想让特定的人浏览,或者干脆仅本人可见.为达到这个目标,必不可少的就是认证功能. 一.认证 核对登录者本人才知道的信息: 密码.动态令牌.数字证书.生物认证.IC卡等 HTTP 使用 ...

  9. Web应用部署在WebLogic中Basic认证无法运行问题及解决

    问题: 在基于Spring Boot的Web应用中使用了Basic认证,在开发环境集成Tomcat服务器运行正常, 但是部署到WebLogic服务器之后就无法使用了. 发生场景: 一般Web应用的登录 ...

最新文章

  1. 那些年让你迷惑的阻塞、非阻塞、异步、同步
  2. CSS的元素显示模式(块内元素和行内元素)
  3. python实现链表反转(转置)
  4. Java打乱牌的算法_Leetcode 384. 打乱数组 (洗牌算法)
  5. 信阳哪些技校有学计算机的,2018年信阳十大技校排名 排名前十的学校有哪些
  6. 数据库-优化-pt-query-digest安装
  7. jQuery子页面获取父页面元素
  8. uniapp动态修改样式_uniapp样式动态绑定
  9. zookeeper基本操作
  10. python 即时通讯_用python实现发送即时消息到twitter
  11. Powershell About Active Directory Group Membership of a domain user
  12. 腾讯 云通信 如何启动Demo
  13. 使用Windows Live ID登录网站
  14. matlab ols regress,计量经济学简单线性回归OLS的Matlab程序.pdf
  15. 【QCM2150】WCN3680 WFA WPA3 STA 5.6.1测试失败
  16. 免费内网穿透端口映射工具-网络通
  17. 天津社保EMC存储容灾项目---2629万
  18. shell脚本编写创建多层目录,判断目录是否存在,存在则删除并且给文件赋予权限
  19. html简单购物车,用jsp实现一个简单的购物车web应用系统。
  20. [linux] mv: cannot move $ to $: Directory not empty

热门文章

  1. python为什么虚部是j不是i_Python基础02 基本数据类型
  2. pc端jquery左右按钮控制带缩略图的图片切换代码_Web开发实用的图片预览插件,简单零依赖——PhotoSwipe...
  3. 360加固一键脱壳工具2020_如何脱壳加固过的Apk并利用其API“走近数据库”
  4. logstash grok mysql_【Logstash系列】使用Redis并自定义Grok匹配
  5. 换脸系列——整脸替换
  6. 【theano-windows】学习笔记二十——LSTM理论及实现
  7. Kubernetes系列之Helm介绍篇
  8. 线上CPU飚高(死循环,死锁……)?帮你迅速定位代码位置
  9. 20172325 2018-2019-1 《Java程序设计》第二周学习总结
  10. 文件得编码和文件名的编码是不一样的