Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
if (requestedUrl.match(pattern)) ...
if (pattern.test(requestedUrl)) ...
var //...
middleWare_isLogged = [auth.checkUser],
middleWare_canEditUsers = [auth.checkUser, auth.hasPrivilege('editUsers')];
app.get('/', function (req, res) {
// просто отдаём страницу
// some code here
});
app.get('/users', middleWare_isLogged, function (req, res) {
// проверям, залогинен ли пользователь
// some code here
});
app.post('/users/edit', middleWare_canEditUsers, function (req, res) {
// проверяем, имеет ли залогиненый пользователь привилегию "editUsers"
// some code here
});
hasPrivilege: function (priv) {
return function (req, res, next) {
// тут всяко-разные проверки - по свойствм req.session смотрим, имеет ли данный
// пользователь привилегию priv и если да - result=true.
// ну а далее либо просто передаём управление дальше если всё ок,
// либо передаём ошибку "недостаточно прав"
if (result) {
next();
}
else {
next({ msg: const.ERR_AUTH_PERMISSION_DENIED, status: 403 });
}
};
}
Простой сайт с возможностью авторизации на node.js