Skip to content

modnes/access-controller

Repository files navigation

Access Controller Modules

Coverage Status

Access Controller module provides an utility class to check if an user has access to some resource based in constraints as roles or functions set.

Installing

npm i @modnes/access-controller

Usage

To check if an user has access to something the AccessController.hasAccess() method must be called passing an user object and a constraints object.

import AccessController from 'path/to/@modnes/access-controller/access-controller.js'

const USER = {
  id: 1,
  roles: ['user'],
  isLogged: () => true
}
const CONSTRAINTS = {
  roles: ['user', 'manager'],
  functions: [
    user => user.id === 1,
    USER.isLogged
  ]
}

if AccessController.hasAccess(USER, CONSTRAINTS) console.log('User has access!')

Methods

Access Controller provides more two methods: userHasRoles() and callFunctions(). These methods can be called in isolation in certain circumstances.

userHasRoles

The userHasRoles() method checks if an user has some of passed roles.

const USER = {
  id: 1,
  roles: ['user']
}
const ROLES = ['user', 'manager']

if AccessController.userHasRoles(USER, ROLES) console.log('User has some of these roles!')

callFunctions

The callFunctions() method returns true if all passed functions return true.

const USER = {
  id: 1,
  isLogged: () => true
}
const FUNCTIONS = [
  user => user.id === 1,
  USER.isLogged
]

if AccessController.callFunctions(USER, FUNCTIONS) console.log('All functions returned true!')

See the API documentation

About

Module to Control Access using roles and functions

Resources

License

Stars

Watchers

Forks

Packages

 
 
 
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy