fox-acl
v1.2.0
Published
This module provides a minimalistic ACL implementation
Downloads
3
Readme
FOX-ACL - Access Control Lists for Node
A simple ACL implementation.
Installation
npm install fox-acl -SUsage
Get resource ACL by group ID
const acl = [
{
resource: '/doctor',
access: {
create: {any: [3,4,5]},
read: {any: [3,4], own: [5]},
update: {any: [3,4], own: [5]},
delete: {any: [3,4], own: [5]},
},
},
{
resource: '/doctor/specialities',
access: {
create: {any: [3,4,5]},
read: {any: [3,4], own: [5]},
update: {any: [3,4], own: [5]},
delete: {any: [3,4], own: [5]},
},
}
];
const userGroupId = 4;
let groupAcl = getGroupAcl(acl, userGroupId);groupAcl will be:
[
{
resource: '/doctor',
access: {
create: {any: true},
read: {own: true},
update: {own: true},
delete: {own: true},
},
},
{
resource: '/doctor/specialities',
access: {
create: {any: true},
read: {own: true},
update: {own: true},
delete: {own: true},
},
}
]To check resource access run:
const acl = [
{
resource: '/doctor',
access: {
create: {any: true},
read: {own: true},
update: {own: true},
},
},
{
resource: '/doctor/specialities',
access: {},
}
];
let accessList = checkResourceAccess('/doctor/specialities', acl);accessList will return:
{
create: {any: false, own: false},
read: {any: false, own: false},
update: {any: false, own: false},
delete: {any: false, own: false},
}