sails-permissions

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.

Usage no npm install needed!

<script type="module">
  import sailsPermissions from 'https://cdn.skypack.dev/sails-permissions';
</script>

README

-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.

This package was last updated in 2015. For the most up-to-date information on auth and permissions in Sails, visit the official Sails website.

Install

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

Quickstart

Note: Complete documentation available in the sails-permissions wiki: https://github.com/tjwebb/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