Skip to content
FindOpenSource

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.

Why it's in this catalog

Catalog rating: ★★★☆☆ (3/5)

Widely embedded access-control library (RBAC/ABAC), distinct from full auth servers.

  • Mature
  • Community-driven
Categories
Authentication & Security
Keywords
authorizationaccess-controlrbacabacaclpolicy
Languages
Go
License
Apache-2.0

Compare with another project

Spotted an error? Suggest an edit on GitHub.