Casbin
Open-source access-control library implementing ACL, RBAC, and ABAC authorization models, with production-ready ports for Go, Java, Python, Node.js, and more.
Overview
Casbin is an access-control library - not a standalone server - that adds authorization to an application by enforcing policies defined against standard access-control models such as ACL, RBAC, and ABAC. Policies and the model that defines them are written in a small configuration format that stays consistent across Casbin's language implementations, so the same policy logic can be reused whether an application is written in Go, Java, Python, Node.js, PHP, .NET, C++, or Rust.
Because it's a library embedded directly into an application rather than a separate identity service, Casbin handles the authorization decision itself (does this user have permission to perform this action) rather than authentication (who is this user) - it's commonly paired with a separate authentication system. The project is now hosted under the Apache Software Foundation.
Casbin is a fit for developers who need fine-grained, model-based access control inside their own application code, across one or more languages, rather than authentication or a separate policy-decision service.
- Categories
- Authentication & Security
- Languages
- Go
- License
- Apache-2.0
Related Projects
OpenFGA
Apache-2.0Relationship-based authorization engine inspired by Google Zanzibar, for modeling and enforcing fine-grained access control as a standalone service.
- Authentication & Security
Appwrite
BSD-3-ClauseOpen-source backend platform providing authentication, databases, storage, functions and realtime APIs, self-hosted or as a managed cloud service.
- Backend
- Database
- Authentication & Security
Auth.js
ISCOpen-source authentication library built on standard Web APIs, supporting OAuth, email/passwordless and credential-based sign-in for any JavaScript framework or runtime.
- Authentication & Security
Authelia
Apache-2.0Self-hosted single sign-on and two-factor authentication portal that sits in front of your reverse proxy to protect existing web apps.
- Authentication & Security
Spotted an error? Suggest an edit on GitHub.