关于HTTP Basic认证

原理

维基: HTTP基本认证html

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

访问须要HTTP Basic Authentication认证的资源的各类语言的实现git

示例

使用node express和http-auth实现。github

$  npm install express --save
$ npm install http-auth --save
$ touch app.js
$ touch users.htpasswd

目录结构以下:express

输入图片说明

app.js内容:npm

// Authentication module.
var auth = require('http-auth');
var basic = auth.basic({
    realm: "Simon Area.",
    file: __dirname + "/users.htpasswd"
});

// Application setup.
var express = require('express');
var app = express();
app.use(auth.connect(basic));

// Setup route.
app.get('/', function(req, res) {
    res.send("Hello from express - " + req.user + "!");
});

app.get('/test', function(req, res) {
    res.send("Hi - " + req.user + "! This is the test page");
});

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

users.htpasswd内容:浏览器

letian:123

运行:app

$ node app.js

浏览器打开http://127.0.0.1:3000/会提示输入密码,咱们看一下HTTP信息:ui

输入图片说明

输入密码:spa

输入图片说明

再次查看HTTP信息:

输入图片说明

访问http://127.0.0.1:3000/test不须要输入密码了:

输入图片说明

除非浏览器记住了密码,重启浏览器后要从新输入密码。

相关文章
相关标签/搜索