Stats

 Latest version : 1.0.3

 Last updated on 2018-05-26T19:01:02.976Z

 Keywords : access, access-control, role, grant, deny, allow, reject, permission, possession, express, admin, user, glob, policy

 Downloads :

  • 21 in Last Month

 Links :

 Examples

¯\_(ツ)_/¯
No examples found for this package

 Readme

Node ACCESS ROLES

HOW TO INSTALL ?

npm install --save access-roles

HOW TO USE ?

var accessRoles = require('access-roles')(app);

accessRoles(options, callback)

Create a new accessRoles middleware function using the given options object and callback function.

options

  • roles (Required) Filename contains roles array:

    • path (Required): Handled by express.
    • methods (Default: ['GET']): HTTP methods array.
    • permissions (Required): Permissions allowed.
    • redirect Redirect a request, handled by express.
  • dataSource (Required) Object in req contains user info.

  • onSuccess Response on success.

  • onFailed Response on failed (Default: { status: 401, message: 'Not Authorized' }).

  • beforeEnter Called before enter.

  • callback The callback(err[name, message]).

Example

{
    "roles": [
        {
            "path": "/",
            "methods": ["GET"],
            "permissions": ["Admin"],
            "redirect": "/home"
        }
    ]
}
function onSuccess(req, res, next) {
    // ...
}

function onFailed(req, res, next) {
    // ...
}

function beforeEnter(req, res, next) {
    // req.userData = ...;
}

var options = {
    roles: './config/roles.json',
    dataSource: 'userData',
    onSuccess: onSuccess,
    onFailed: onFailed,
    beforeEnter: beforeEnter
};
accessRoles(options, (err) => {
    if (err) throw err;
});

TODO

  • Tests
  • Give me suggestions ??

LICENSE

GPL-3.0

 Comments