Ir al contenido principal

Casbin

Una biblioteca de autorización que admite modelos de control de acceso como ACL, RBAC, ABAC para Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) y Elixir

Empezar
[object Object]

Modelos híbridos de control de acceso

En Casbin, un modelo de control de acceso se abstrae en un archivo CONF basado en el metamodelo PERM (Política, Efecto, Solicitud, Coincidencias). Por lo tanto, cambiar o actualizar el mecanismo de autorización para un proyecto es tan simple como modificar una configuración.

[object Object]

Almacenamiento de políticas flexible

Además de la memoria y el archivo, la política de Casbin se puede almacenar en muchos lugares. Actualmente, se admiten docenas de bases de datos, desde MySQL, Postgres, Oracle hasta MongoDB, Redis, Cassandra, AWS S3. Consulta la lista completa de soporte en: adaptadores.

[object Object]

Multi-idiomas y multi-plataformas

Casbin está implementado en Golang, Java, PHP y Node.js. Todas las implementaciones comparten la misma API y comportamientos. Puedes aprender Casbin una vez y usarlo en todas partes.

Persistencia de políticas

In Casbin, the policy storage is implemented as an adapter(aka middleware for Casbin). To keep light-weight, we don't put adapter code in the main library (except the default file adapter). A complete list of Casbin adapters is provided as below. Any 3rd-party contribution on a new adapter is welcomed, please inform us and I will put it in this list:) For details of adapters, please refer to the documentation: adaptadores.
Policy Persistence
Policy enforcement at scale

Cumplimiento de políticas a gran escala

Algunos adaptadores admiten la gestión de políticas filtradas. Esto significa que la política cargada por Casbin es un subconjunto de la política en almacenamiento basada en un filtro dado. Esto permite una aplicación de políticas eficiente en entornos grandes y multi-tenant cuando analizar la política completa se convierte en un cuello de botella de rendimiento.

Gestor de roles

El gestor de roles se utiliza para gestionar la jerarquía de roles RBAC (mapeo de usuario-rol) en Casbin. Un gestor de roles puede recuperar los datos de rol de las reglas de política de Casbin o fuentes externas como LDAP, Okta, Auth0, Azure AD, etc. Apoyamos diferentes implementaciones de un gestor de roles. Para mantener la ligereza, no incluimos el código del gestor de roles en la biblioteca principal (excepto el gestor de roles predeterminado). Se proporciona una lista completa de gestores de roles de Casbin como: gestores de roles.
Role manager

¿Quién está usando Casbin?

Cientos de proyectos están usando Casbin, desde empresas establecidas del Fortune 500 hasta nuevas startups prometedoras. Si tienes curiosidad por ver lo que se puede lograr con Casbin, echa un vistazo a estas aplicaciones!