Nie można korzystać z podstawowego uwierzytelniania podczas obsługi plików statycznych za pomocą express
Korzystając z frameworka Express dla node.js, próbuję obsługiwać pliki statyczne zawarte w katalogu, jednocześnie umieszczając na nim podstawowe uwierzytelnianie. Gdy to zrobię, pojawia się monit o podanie nazwy użytkownika i hasła (zgodnie z oczekiwaniami), ale po prawidłowym wprowadzeniu ich otrzymuję 404. Jeśli usunę sprawdzanie uwierzytelnienia i podasz ten sam katalog, faktycznie otrzymam strony zawarte w nim.
Oto szybki serwer, który wymyśliłem jako dowód koncepcji:
var express = require('express');
var app = express();
var auth = express.basicAuth(function(user,pass) {
return 'user' === user && 'pass' === pass;
});
app.use('/admin', auth, express.static(__dirname + '/admin'));
app.use('/adminNoAuth', express.static(__dirname + '/admin'));
app.listen(8082);
Kiedy trafięlocalhost:8082/admin
Dostaję nazwę użytkownika / hasło, a następnie 404. Kiedy trafięlocalhost:8082/adminNoAuth
to służy do strony.
Używam Express 3.4.7 i node.js 0.10.22.