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.

Categories
Authentication & Security
Keywords
authorizationaccess-controlrbacabacaclpolicy
Languages
Go
License
Apache-2.0

Spotted an error? Suggest an edit on GitHub.