Average Ratings 0 Ratings
Average Ratings 0 Ratings
Description
Casbin is a versatile open-source library designed for authorization, enabling the implementation of various access control paradigms such as Access Control Lists (ACL), Role-Based Access Control (RBAC), and Attribute-Based Access Control (ABAC). This library is available in numerous programming languages, including Golang, Java, C/C++, Node.js, JavaScript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter), and Elixir, ensuring developers have a unified API experience across different environments. By utilizing the PERM metamodel, Casbin allows developers to define access control models through configuration files, making it easy to modify or upgrade authorization systems with minimal effort. It also provides a variety of policy storage solutions, compatible with databases such as MySQL, PostgreSQL, Oracle, MongoDB, Redis, and AWS S3, catering to diverse storage needs. Additionally, Casbin includes a role manager that efficiently manages RBAC role hierarchies and supports filtered policy management, which enhances the effectiveness of access enforcement. As a result, developers can easily adapt Casbin to their specific project requirements while maintaining robust security practices.
Description
This package is designed for independent reuse across any Python project and is maintained by the Zope Toolkit initiative. It serves as an implementation of "object interfaces" within the Python ecosystem. Interfaces act as a way to designate objects as adhering to a specific API or contract, making this package a practical example of applying the Design By Contract methodology in Python. Essentially, interfaces are objects that detail (document) the expected external behavior of the objects that implement them. An interface articulates behavior through a combination of informal documentation within a docstring, attribute definitions, and invariants, which are the necessary conditions that must be satisfied by the objects implementing the interface. Attribute definitions specify particular attributes, outlining their names while offering documentation and constraints regarding the allowed values for those attributes. These definitions can take various forms, allowing for flexibility in how they are expressed. Furthermore, the ability to define interfaces enhances the clarity and reliability of code by ensuring that objects conform to specified behaviors.
API Access
Has API
API Access
Has API
Integrations
Python
.NET
Active Directory
Amazon S3
Apache Cassandra
ArangoDB
Auth0
Delphi
Envoy
Flutter
Integrations
Python
.NET
Active Directory
Amazon S3
Apache Cassandra
ArangoDB
Auth0
Delphi
Envoy
Flutter
Pricing Details
Free
Free Trial
Free Version
Pricing Details
Free
Free Trial
Free Version
Deployment
Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook
Deployment
Web-Based
On-Premises
iPhone App
iPad App
Android App
Windows
Mac
Linux
Chromebook
Customer Support
Business Hours
Live Rep (24/7)
Online Support
Customer Support
Business Hours
Live Rep (24/7)
Online Support
Types of Training
Training Docs
Webinars
Live Training (Online)
In Person
Types of Training
Training Docs
Webinars
Live Training (Online)
In Person
Vendor Details
Company Name
Casbin
Website
casbin.org
Vendor Details
Company Name
Python Software Foundation
Country
United States
Website
pypi.org/project/zope.interface/