關於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不須要輸入密碼了:

輸入圖片說明

除非瀏覽器記住了密碼,重啓瀏覽器後要從新輸入密碼。

相關文章
相關標籤/搜索