Comments 9
UFO just landed and posted this here
Только что открыл форму авторизации в одном окне, а во втором попытался подключиться к серверу. Второе окно подвисло до того момента, пока я не авторизовался в первом. Вы точно уверены, что это асинхронная функция?
// async
if (callback.length >= 3) {
var pause = utils.pause(req);
callback(user, pass, function(err, user){
if (err || !user) return unauthorized(res, realm);
req.user = req.remoteUser = user;
next();
pause.resume();
});
// sync
} else {
if (callback(user, pass)) {
req.user = req.remoteUser = user;
next();
} else {
unauthorized(res, realm);
}
}
куда уж точнее
А если вам надо повесить авторизацию на группу путей, можете воспользоваться библиотечкой github.com/DavidKlassen/express-group-middleware
Работает например так:
ps надо бы найти время ридми написать, раз уж рекламирую…
Работает например так:
var group = require('express-group-middleware')(app);
var auth = function (req, res, next) {
// do some auth...
next();
};
group(function () {
app.resource('channels', channels, { load: Channel.findById.bind(Channel) });
app.resource('streams', streams, { load: Stream.findById.bind(Stream) });
app.resource('workers', workers);
}).before(auth);
ps надо бы найти время ридми написать, раз уж рекламирую…
Sign up to leave a comment.
Как работает basic-авторизация в ExpressJS