Supported access control models
masterApache Casbin supports a wide variety of access control models, including:
- ACL (Access Control List): The simplest model.
- ACL with superuser: Supports a built-in superuser (e.g.,
root) that can bypass explicit permissions. - ACL without users/resources: Useful for systems without authentication or for targeting resource types (e.g.,
write-article). - RBAC (Role-Based Access Control): Includes variations like RBAC with resource roles and RBAC with domains/tenants.
- ABAC (Attribute-Based Access Control): Uses attributes (e.g.,
resource.Owner) for fine-grained control. - RESTful: Supports path patterns (e.g.,
/res/*,/res/:id) and HTTP methods. - Deny-override: Supports both allow and deny rules, where deny takes precedence.
- Priority: Allows prioritizing policy rules similar to firewall rules.