Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@mooniker
Forked from facultymatt/roles_invesitgation.md
Last active February 29, 2024 21:55
Show Gist options
  • Star 20 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save mooniker/b87a284378f2ba29dbc3845bcf6efd3b to your computer and use it in GitHub Desktop.
Save mooniker/b87a284378f2ba29dbc3845bcf6efd3b to your computer and use it in GitHub Desktop.
Roles and permissions system for Nodejs

ACL / Roles + Permissions

Virgen-ACL (virgen-acl)

  • https://github.com/djvirgen/virgen-acl
  • "Simple in-memory ACL for node.js apps. Supports arbitrary roles and resources, including role/resource detection using a simple interface. Additionally supports custom assertions for more complex rules."
  • Comments: "Simple and elegant, create your own checks. No middleware?"

Node ACL (acl) BuildStatusDependency StatusdevDependency Status

Authorized! (authorized) Current Status

  • https://github.com/tschaub/authorized
  • "Action based authorization middleware"
  • Comments: "Similar to connect roles... but a bit more robust? you can create roles and action, and associate many roles with that action"

Ability-js (ability)

  • https://github.com/scottkf/ability-js
  • "...route-based ACL component for express.js"
  • Comments: "Like canCan for rails. This is a traditional controller / function type permission system. May be too abstract."

NodeJS Roles (roles)  Travis CI

node-relations build status

Connect Roles (connect-roles) Build StatusDependency StatusNPM version

SimplePermissions (simplepermissions)

  • https://github.com/ajlopez/SimplePermissions
  • "Permissions by Subject, Role, and Context. It uses an in-memory model."
  • Comments: "Maybe too simple? Makes sense for assigning roles but then its hard to check against roles!"

entitlement Build Status

CanCan (cancan) Build Status

MustBe (mustbe)

passport-local-roles

permission

express-authorize

accesscontrol build-status dependencies maintained documentation

CASL (casl) CASL Build StatusCASL codecov

Mongoose Field Access Control

mongoose-plugins-accessible-by

  • https://github.com/codedoctor/mongoose-plugins-accessible-by
  • "...adds an accessibleBy field to a mongoose schema to be able to determine access rights for models belonging to this schema."
  • Comments: "Set access per field of mongoose Schema. Not supported or maintained, and noted as not a perfect fit in all cases... but worth considering as a simple way to control access to fields."

mongoose-rbac Build Status

Angular

angular-permission Travis

Coveralls

Tutorials

AngularJS -- Quick Role-Based Authentication (by @artgon)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment