关于HTTP Basic认证

本文介绍如何使用Node.js和http-auth模块实现HTTP基本认证。通过安装必要的依赖并配置认证中间件,可以保护Web应用的路由,确保只有经过验证的用户才能访问特定资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原理

维基: HTTP基本认证

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

访问需要HTTP Basic Authentication认证的资源的各种语言的实现

示例

使用node express和http-auth实现。

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

目录结构如下:

输入图片说明

app.js内容:

// 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

运行:

$ node app.js

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

输入图片说明

输入密码:

输入图片说明

再次查看HTTP信息:

输入图片说明

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

输入图片说明

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

转载于:https://my.oschina.net/letiantian/blog/754855

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值