Ho un'applicazione node.js progettata utilizzando il framework Express e il modulo http-auth, come segue:Utilizzando HTTP auth di base per determinati URL solo con il quadro espresso
var auth = require('http-auth');
var express = require('express');
// ...
var mywebapp = express();
// ...
if (usebasicauth) {
var basic = auth.basic({realm:"MyRealm", file:"/srv/config/passwd"});
mywebapp.use(auth.connect(basic));
}
mywebapp.use('/js', express.static(__dirname + '/files/js'));
mywebapp.use('/css', express.static(__dirname + '/files/css'));
// ...
Tuttavia, non voglio per proteggere attività disponibili nelle directory /js
e /css
. Questo è quello che ho provato a fare:
if (usebasicauth) {
var basic = auth.basic({realm:"MyRealm", file:"/srv/config/passwd"});
mywebapp.use(function(req, res, next) {
if (/^\/(css|js)/.test(req.url)) {
next();
}
else {
auth.connect(basic);
}
});
}
Cercando di accedere agli URL sotto /css
e /js
lavoro come previsto; tuttavia, altri URL non vengono mai caricati.
Come posso fare in modo che altri URL funzionino come previsto?