Comprehensive sails.js user permissions and entitlements system. Supports user authentication with passport.js, role-based permissioning, object ownership, and row-level security.
$ npm install sails-permissions sails-auth --save
Note: Complete documentation available in the sails-permissions wiki: https://github.com/tjwebb/sails-permissions/wiki
{
"generators": {
"modules": {
"permissions-api": "sails-permissions/generator"
}
}
}
$ sails generate permissions-api
variable | description | default |
---|---|---|
ADMIN_USERNAME |
admin username | admin |
ADMIN_EMAIL |
admin user email address | [email protected] |
ADMIN_PASSWORD |
admin user password | admin1234 |
sails.config.permissions.adminUsername = 'admin'
sails.config.permissions.adminEmail = '[email protected]'
sails.config.permissions.adminPassword = 'admin1234'
Custom actions will be granted to the admin role.
in sails.config.permissions
you should define them like this :
modelsPermissionsActionsMap: { "user": { findOne: "findOne" } },
You are mapping controller actions with permission actions.
sails.config.permissions.adminUserAttributes = {
firstname: "Admin's first name",
lastname: "Admin's last name"
}
'*': [
'basicAuth',
'passport',
'sessionAuth',
'ModelPolicy',
'AuditPolicy',
'OwnerPolicy',
'PermissionPolicy',
'RolePolicy',
'CriteriaPolicy'
],
AuthController: {
'*': [ 'passport' ]
}
You can now login using the aforementioned default login data or the admin settings you specified using the /auth/local
endpoint.
{
"identifier": "[email protected]",
"password": "admin1234"
}
MIT