JSPM

  • Created
  • Published
  • Downloads 15
  • Score
    100M100P100Q62269F
  • License MIT

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.

Package Exports

  • sails-permissions
  • sails-permissions/api/controllers/ModelController
  • sails-permissions/api/controllers/PermissionController
  • sails-permissions/api/controllers/RoleController
  • sails-permissions/api/models/Model
  • sails-permissions/api/models/Passport
  • sails-permissions/api/models/Permission
  • sails-permissions/api/models/Role
  • sails-permissions/api/models/User
  • sails-permissions/api/policies/ModelPolicy
  • sails-permissions/api/policies/OwnerPolicy
  • sails-permissions/api/policies/PermissionPolicy
  • sails-permissions/api/policies/RolePolicy
  • sails-permissions/api/services/ModelService
  • sails-permissions/api/services/PermissionService
  • sails-permissions/config/permissions

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sails-permissions) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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