Introduction
@pallad/access-control is an assess permissions in system and allows or denies executing actions.
- Can given user
updatea product? - Can given user
deletean article?
Due to abstract nature and by having imperative policy system you can easily achieve any kind of permission system like Role Based Access Control (RBAC), Attribute Based Access Control (ABAC) or others.
Ecosystem
Ecosystem consist of following packages:
@pallad/access-controlis very small package with core abstractions.@pallad/access-control-devhelps you with writing tests for policies, stub access control@pallad/access-control-query-presethelps you define possible permissions for a domain and define policies for them.
Features
- 👷 Built with Typescript
- 👌 Supports synchronous and asynchronous policies
- 🎒 Helpful tools for writing unit tests
- ✅ Easy to use with any framework (express, nest.js, fastify, koa, graphql)
- 🧑🤝🧑 Type friendly