mdds-mongoose-express-auth-server
Version:
Model Driver Development Stack - authentication and authorization server for mongoose and express based application. It can be enabled to work as authentication, user profile managment, and authorization management servers.
38 lines (32 loc) • 929 B
JavaScript
const meanRestExpress = require('mean-rest-express')
const AuthzController = function() {
}
AuthzController.getAccountRoles = function(restController) {
function func(req, res, next) {
if (!req.muser) {
let err = new Error("Authorization: User not available for getting roles.");
return next(err);
}
let userId = req.muser['_id'];
if (!userId) return next(); //without setting roles. User becomes normal login user.
restController.ModelExecute(
"maccountrole",
'findOne',
{account: userId} //search criteria
).then(
function(result) {
if (result) { //role defined for the user
req.muser.role = result.role; //[] array of role ids
} else {
req.muser.role = [];
}
return next();
},
function(err) {
return next(err);
}
);
}
return func;
}
module.exports = AuthzController;