Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将基本身份验证添加到node.js+;快车没有效果_Node.js_Express_Basic Authentication - Fatal编程技术网

将基本身份验证添加到node.js+;快车没有效果

将基本身份验证添加到node.js+;快车没有效果,node.js,express,basic-authentication,Node.js,Express,Basic Authentication,我补充了以下内容 var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var fs = require("fs"

我补充了以下内容

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var fs = require("fs");

var index = require('./routes/index');
var users = require('./routes/users');

var app = express();
var basicAuth = require('express-basic-auth');
app.use(basicAuth({
    users: { 'worker': '????????' }
}));
到我的
app.js
。根据我放置此代码的位置,该站点要么完全停止工作(显示空白),要么在没有任何身份验证的情况下工作

哪个是放置此代码的正确位置

当出现空白时,可以在Chrome开发者工具中看到

Failed to load resource: the server responded with a status of 401 (Unauthorized)
但没有出现登录弹出窗口

我正在WebStorm下的
localhost
上运行我的站点。可能没有弹出窗口是
localhost
上的默认浏览器行为?Firefox也使用了相同的

,我使用以下代码(在app.js中,或者如果您只想在某些路由上使用此代码,那么只在这些路由之前使用):

对于,我使用以下代码(在app.js中,或者如果您只想在某些路由上使用此代码,则仅在这些路由之前使用):


通过使用express basic auth模块,中间件的默认配置不会向未授权请求的响应添加
WWW-Authenticate
质询头。您必须通过将
challenge:true
添加到选项对象来启用它,如下所示:

app.use(basicAuth({
    users: { 'worker': '????????' },
    challenge: true
}));

这段代码将允许大多数浏览器显示一个弹出窗口,在未经授权的响应中输入用户名/密码。

通过使用express basic auth模块,中间件的默认配置不会向未经授权请求的响应添加
WWW-Authenticate
质询头。您必须通过将
challenge:true
添加到选项对象来启用它,如下所示:

app.use(basicAuth({
    users: { 'worker': '????????' },
    challenge: true
}));
这段代码允许大多数浏览器显示一个弹出窗口,在未经授权的响应中输入用户名/密码