Files
html5-restaurant/modules/login.js

62 lines
1.2 KiB
JavaScript

var admins = {
"Richard Reis": {
pwd: "secret",
rights: {
1: true,
2: true,
3: true
}
},
"Ursula Ulstein": {
pwd: "ultimativ",
rights: {
1: true,
2: true,
3: false
}
},
}
module.exports.AdminRight = {
ADMIN: 1,
MENU: 2,
RESERVATION: 3
}
module.exports.checkCredentials = function(name, pwd) {
if (name && pwd && (name in admins) && pwd==admins[name].pwd) {
// valid
return true;
} else {
// invalid
return false;
}
};
module.exports.hasAccess = function(req, section) {
var name = module.exports.getName(req);
return (name && admins[name] && admins[name].rights && admins[name].rights[section] && admins[name].rights[module.exports.AdminRight.ADMIN]);
};
module.exports.getName = function(req) {
if ((typeof req.session === 'undefined') || (typeof req.session.name === 'undefined'))
return false;
else
return req.session.name;
}
module.exports.doLogin = function(req, name, pwd) {
if (module.exports.checkCredentials(name, pwd) && !(typeof req.session === 'undefined')) {
req.session.name = name;
}
return module.exports.getName(req);
}
module.exports.doLogout = function(req) {
if (!(typeof req.session === 'undefined')) {
req.session.destroy();
}
return module.exports.getName(req);
}