https://github.com/trailsjs/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.
https://github.com/trailsjs/sails-permissions
Last synced: about 1 year ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/trailsjs/sails-permissions
- Owner: trailsjs
- License: mit
- Created: 2014-08-29T02:11:28.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2018-02-28T08:04:06.000Z (over 8 years ago)
- Last Synced: 2025-03-29T14:11:17.125Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 332 KB
- Stars: 418
- Watchers: 18
- Forks: 113
- Open Issues: 93
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# sails-permissions
[![Gitter][gitter-image]][gitter-url]
[![NPM version][npm-image]][npm-url]
[![Build status][travis-image]][travis-url]
[![Dependency Status][daviddm-image]][daviddm-url]
Comprehensive sails.js user permissions and entitlements system. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.
## Install
```sh
$ 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
```json
{
"generators": {
"modules": {
"permissions-api": "sails-permissions/generator"
}
}
}
```
### 2. run generator
```sh
$ 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
```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.
```json
{
"identifier": "admin@example.com",
"password": "admin1234"
}
```
## License
MIT
## Maintained By
[
](http://langa.io)
[npm-image]: https://img.shields.io/npm/v/sails-permissions.svg?style=flat-square
[npm-url]: https://npmjs.org/package/sails-permissions
[travis-image]: https://img.shields.io/travis/langateam/sails-permissions.svg?style=flat-square
[travis-url]: https://travis-ci.org/langateam/sails-permissions
[daviddm-image]: http://img.shields.io/david/langateam/sails-permissions.svg?style=flat-square
[daviddm-url]: https://david-dm.org/langateam/sails-permissions
[gitter-image]: http://img.shields.io/badge/+%20GITTER-JOIN%20CHAT%20%E2%86%92-1DCE73.svg?style=flat-square
[gitter-url]: https://gitter.im/langateam/sails-permissions
[hacktober-image]: http://i.imgur.com/FM9yVCI.png
[hacktober-url]: https://twitter.com/langateam/status/782995392212369408