Skip to content

staticfunction/privileges

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Privileges

Access routing middleware for Express using bits.

Getting Started

Privileges references req.user.privileges for its checks. Use any method you want to populate the req.user.privileges.

    npm install privileges --save

For example:

    var guard = privileges.express();

    app.get('/', 
    (req, res, next) => {
        users.findOne({username: req.user.username}, (err, user) => {
            req.user.privileges = user.privileges;
            next();
        })
    }, 
    guard
        .check(2, (req, res, next) => {
            //admin access
        })
    )

Multi-level Access Routing

    app.get('/', 
    (req, res, next) => {
        users.findOne({username: req.user.username}, (err, user) => {
            req.user.privileges = user.privileges;
            next();
        })
    }, 
    guard
        .check(2, (req, res, next) => {
            //user access
        })
        .check(4, (req, res, next) => {
            //admin access
        })

Errors Thrown

If there's no req.user the privileges throws 401 Unauthorized. If privileges is undefined or that privileges is not enough it throws a 403 Forbidden.

About

Access routing middleware for Express using bits.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published