PyCasbin 0.2
PyCasbin is a powerful and efficient open-source access control library for Python projects. It provides support for enforcing authorization based on various access control models.
Features
What Casbin does:
- enforce the policy in the classic
{subject, object, action}
form or a customized form as you defined, both allow and deny authorizations are supported. - handle the storage of the access control model and its policy.
- manage the role-user mappings and role-role mappings (aka role hierarchy in RBAC).
- support built-in superuser like
root
oradministrator
. A superuser can do anything without explict permissions. - multiple built-in operators to support the rule matching. For example,
keyMatch
can map a resource key/foo/bar
to the pattern/foo*
.
What Casbin does NOT do:
- authentication (aka verify
username
andpassword
when a user logs in) - manage the list of users or roles. I believe it's more convenient for the project itself to manage these entities. Users usually have their passwords, and Casbin is not designed as a password container. However, Casbin stores the user-role mapping for the RBAC scenario.