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
Yes
API Access
Has API
Yes
Integrations
Python
Yes
.NET
Yes
Active Directory
Yes
Actix Analyzer
Yes
Amazon S3
Yes
ArangoDB
Yes
Elixir
Yes
Envoy
Yes
Flutter
Yes
Java
Yes
Integrations
Python
Yes
.NET
No
Active Directory
No
Actix Analyzer
No
Amazon S3
No
ArangoDB
No
Elixir
No
Envoy
No
Flutter
No
Java
No
Pricing Details
Free
Free Trial
No
Free Version
Yes
Pricing Details
Free
Free Trial
No
Free Version
Yes
Deployment
Web-Based
Yes
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
No
Mac
No
Linux
No
Chromebook
No
Deployment
Web-Based
Yes
On-Premises
No
iPhone App
No
iPad App
No
Android App
No
Windows
Yes
Mac
Yes
Linux
Yes
Chromebook
No
Customer Support
Business Hours
No
Live Rep (24/7)
Yes
Online Support
Yes
Customer Support
Business Hours
No
Live Rep (24/7)
No
Online Support
Yes
Types of Training
Training Docs
Yes
Webinars
No
Live Training (Online)
No
In Person
No
Types of Training
Training Docs
Yes
Webinars
Yes
Live Training (Online)
No
In Person
No
Vendor Details
Company Name
Casbin
Website
casbin.org
Vendor Details
Company Name
Python Software Foundation
Country
United States
Website
pypi.org/project/zope.interface/