Casbin
Бібліотека авторизації, яка підтримує моделі контролю доступу, такі як ACL, RBAC, ABAC для Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) та Elixir
Гібридні моделі контролю доступу
У Casbin модель контролю доступу абстрагується у файл CONF на основі метамоделі PERM (Політика, Ефект, Запит, Відповідності). Тому перемикання або оновлення механізму авторизації для проекту є таким же простим, як зміна конфігурації.
Гнучке зберігання політик
Крім пам'яті та файлу, політику Casbin можна зберігати в багатьох місцях. Наразі підтримується десятки баз даних, від MySQL, Postgres, Oracle до MongoDB, Redis, Cassandra, AWS S3. Перевірте повний список підтримуваних на: адаптери.
Міжмовні та міжплатформенні
Casbin реалізовано на Golang, Java, PHP та Node.js. Усі реалізації мають однаковий API та поведінку. Ви можете вивчити Casbin один раз і використовувати його скрізь.
Збереження політики
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: адаптери.Масштабоване забезпечення політики
Деякі адаптери підтримують управління фільтрованою політикою. Це означає, що політика, завантажена Casbin, є підмножиною політики в сховищі на основі даного фільтра. Це дозволяє ефективно забезпечувати політику в великих, багатокористувацьких середовищах, коли аналіз усієї політики стає проблемою продуктивності.Менеджер ролей
Менеджер ролей використовується для управління ієрархією ролей RBAC (відображення користувач-роль) у Casbin. Менеджер ролей може отримувати дані про ролі з правил політики Casbin або зовнішніх джерел, таких як LDAP, Okta, Auth0, Azure AD тощо. Ми підтримуємо різні реалізації менеджера ролей. Щоб залишатися легковаговим, ми не включаємо код менеджера ролей в основну бібліотеку (крім стандартного менеджера ролей). Повний список менеджерів ролей Casbin наведено як: менеджери-ролей.Хто використовує Casbin?
Сотні проектів використовують Casbin, від відомих компаній Fortune 500 до гарячих нових стартапів. Якщо ви зацікавлені побачити, що можна досягти з Casbin, ознайомтеся з цими додатками!