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.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
api
config
test
.gitignore
.jshintrc
.npmignore
.sailsrc
.travis.yml
LICENSE
README.md
generator.js
gulpfile.js
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