Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/notadd/nt-casbin
nest.js with casbin auth Nest.js RBAC ABAC 权限管理
https://github.com/notadd/nt-casbin
abac graphql nestjs rbac typescript
Last synced: about 1 month ago
JSON representation
nest.js with casbin auth Nest.js RBAC ABAC 权限管理
- Host: GitHub
- URL: https://github.com/notadd/nt-casbin
- Owner: notadd
- License: apache-2.0
- Created: 2019-02-18T09:49:43.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-11-28T02:56:05.000Z (about 1 month ago)
- Last Synced: 2024-11-28T03:30:08.017Z (about 1 month ago)
- Topics: abac, graphql, nestjs, rbac, typescript
- Language: TypeScript
- Homepage:
- Size: 1.55 MB
- Stars: 30
- Watchers: 5
- Forks: 7
- Open Issues: 56
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Supported models
1. [**ACL (Access Control List)**](https://en.wikipedia.org/wiki/Access_control_list)
2. **ACL with [superuser](https://en.wikipedia.org/wiki/Superuser)**
3. **ACL without users**: especially useful for systems that don't have authentication or user log-ins.
3. **ACL without resources**: some scenarios may target for a type of resources instead of an individual resource by using permissions like ``write-article``, ``read-log``. It doesn't control the access to a specific article or log.
4. **[RBAC (Role-Based Access Control)](https://en.wikipedia.org/wiki/Role-based_access_control)**
5. **RBAC with resource roles**: both users and resources can have roles (or groups) at the same time.
6. **RBAC with domains/tenants**: users can have different role sets for different domains/tenants.
7. **[ABAC (Attribute-Based Access Control)](https://en.wikipedia.org/wiki/Attribute-Based_Access_Control)**: syntax sugar like ``resource.Owner`` can be used to get the attribute for a resource.
8. **Graphql** support .
9. **Deny-override**: both allow and deny authorizations are supported, deny overrides the allow.
10. **Priority**: the policy rules can be prioritized like firewall rules.## Get started
1. npm install
2. npm start