Casbin Access Control
casbin.org
1
Leaving SiteNav
External Link Disclaimer
You are about to visit casbin.org. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
Casbin is a powerful and efficient open-source access control library created by Yang Luo in 2017, providing role-based access control, attribute-based access control, and permission management through a flexible policy definition model, supporting over ten programming languages including Go, Java, Node-dot-js, Python, PHP, Rust, C-plus-plus, Ruby, and JavaScript, with over thirty thousand GitHub stars, adopted by over three thousand organizations including Tencent, Huawei, and Red Hat for their authorization needs. The policy model uses a domain-specific language for defining authorization models through configuration files, with the model file specifying the request definition, policy definition, policy effect, matchers, and role manager, enabling developers to define complex authorization rules without modifying application code, while the policy adapter stores and retrieves policy rules from various backends including databases through MySQL, PostgreSQL, MongoDB, Redis, and DynamoDB, files through CSV and JSON, and in-memory storage for testing. The role-based access control supports hierarchical roles with multiple inheritance levels, enabling roles to inherit permissions from parent roles, with the role manager supporting up to ten levels of role hierarchy by default, and configurable maximum hierarchy depth for complex organizational structures. The attribute-based access control evaluates rules based on attributes of the subject, object, and action, with the matcher expressions supporting string comparison, numeric comparison, key matching, IP address matching, and regex matching for fine-grained authorization. The multi-tenancy through domain-level policies. The policy persistence through adapters. The watcher for distributed policy synchronization. The RESTful API through Casdoor. Designed by Yang Luo. Designed for backend developers.
Statistics
1
Views
0
Clicks
0
Like
0
Dislike