维基: HTTP基本认证html
访问须要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
不须要输入密码了:
除非浏览器记住了密码,重启浏览器后要从新输入密码。