所以我尝试用http-auth密码保护我的node.js应用程序。 我看到很多人也需要帮助,并尝试过多种方法。但现在我被卡住了。密码工作正常,但登录到上一个密码后,登录提示会再次弹出。我无法完全访问自己的应用。
我的auth-part看起来像这样:
var preAuth = require('http-auth');
var basic = preAuth.basic({
realm: "Private area",
file: __dirname + "/htpasswd",
//Type: "basic"
});
var server;
var app = express();
app.use(preAuth.connect(basic));
如果我添加
app.get('/test', function(req, res) {
res.send("Hello from express - " + req.user + "!");
});
我可以访问/测试网站没有问题,它显示我"你好快递 - insertUsernameHere!"
但它不能使用我的应用程序。这是因为我的express.static吗?我对javascript / node.js并不是那么好,还在学习。
(对不起,如果我用英语打扰任何人,我知道这不完美)
答案 0 :(得分:0)
您可能在之后定义了app.use(auth.connect(basic));
,指定了静态文件。
这就是您的静态文件不受保护的原因。
确保在设置使用静态文件之前设置授权:
app.use(preAuth.connect(basic));
app.use(express.static(path.join(__dirname, 'public')));