Skip to content
Comprehensive user permissions and entitlements system for sails.js and Waterline. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.
Branch: master
Clone or download
Latest commit 826d504 Feb 14, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
api replace res.forbidden with res.send(403, reason) Jan 22, 2016
config allow configurable default permissions Jan 22, 2016
test update tests Sep 25, 2015
.gitignore
.jshintrc fix id/parentid issue for add/remove routes Aug 21, 2015
.npmignore
.sailsrc
.travis.yml
LICENSE
README.md Update README.md Feb 14, 2017
generator.js remove unnecessary files Aug 21, 2015
gulpfile.js 2.0-alpha1. uses es6 + marlinspike Aug 20, 2015
package.json

README.md

sails-permissions

Gitter NPM version Build status Dependency Status

Comprehensive sails.js user permissions and entitlements system. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.

Install

$ npm install sails-permissions sails-auth --save

Quickstart

Note: Complete documentation available in the sails-permissions wiki: https://github.com/langateam/sails-permissions/wiki

1. configure sailsrc

{
  "generators": {
    "modules": {
      "permissions-api": "sails-permissions/generator"
    }
  }
}

2. run generator

$ sails generate permissions-api

3. Set environment variables

variable description default
ADMIN_USERNAME admin username admin
ADMIN_EMAIL admin user email address admin@example.com
ADMIN_PASSWORD admin user password admin1234
e.g in config/local.js (file is in .gitignore)
sails.config.permissions.adminUsername = 'admin'
sails.config.permissions.adminEmail = 'admin@example.com'
sails.config.permissions.adminPassword = 'admin1234'

4. update configs

config/policies.js

  '*': [
    'basicAuth',
    'passport',
    'sessionAuth',
    'ModelPolicy',
    'AuditPolicy',
    'OwnerPolicy',
    'PermissionPolicy',
    'RolePolicy',
    'CriteriaPolicy'
  ],

  AuthController: {
    '*': [ 'passport' ]
  }

5. Login

You can now login using the aforementioned default login data or the admin settings you specified using the /auth/local endpoint.

{
    "identifier": "admin@example.com",
    "password": "admin1234"
}

License

MIT

Maintained By

You can’t perform that action at this time.