Lewati ke konten utama

Casbin

Pustaka otorisasi yang mendukung model kontrol akses seperti ACL, RBAC, ABAC untuk Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter), dan Elixir

Memulai
[object Object]

Model kontrol akses hibrida

Di Casbin, model kontrol akses diabstraksikan menjadi file CONF berdasarkan metamodel PERM (Kebijakan, Efek, Permintaan, Pembanding). Jadi, beralih atau meningkatkan mekanisme otorisasi untuk sebuah proyek sama sederhananya dengan memodifikasi konfigurasi.

[object Object]

Penyimpanan kebijakan yang fleksibel

Selain memori dan file, kebijakan Casbin dapat disimpan di banyak tempat. Saat ini, puluhan database didukung, mulai dari MySQL, Postgres, Oracle hingga MongoDB, Redis, Cassandra, AWS S3. Periksa daftar lengkap yang didukung di: adaptor.

[object Object]

Antar-bahasa & antar-platform

Casbin diimplementasikan dalam Golang, Java, PHP, dan Node.js. Semua implementasi memiliki API dan perilaku yang sama. Anda dapat mempelajari Casbin sekali dan menggunakannya di mana saja.

Permanensi Kebijakan

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: adaptor.
Policy Persistence
Policy enforcement at scale

Penegakan kebijakan skala besar

Beberapa adaptor mendukung manajemen kebijakan terfilter. Ini berarti kebijakan yang dimuat oleh Casbin adalah subset dari kebijakan di penyimpanan berdasarkan filter tertentu. Hal ini memungkinkan untuk penegakan kebijakan yang efisien di lingkungan multi-penyewa besar ketika mem-parsing seluruh kebijakan menjadi batasan kinerja.

Manajer peran

Manajer peran digunakan untuk mengelola hierarki peran RBAC (pemetaan pengguna-peran) di Casbin. Seorang manajer peran dapat mengambil data peran dari aturan kebijakan Casbin atau sumber eksternal seperti LDAP, Okta, Auth0, Azure AD, dll. Kami mendukung implementasi yang berbeda dari seorang manajer peran. Untuk tetap ringan, kami tidak menempatkan kode manajer peran di perpustakaan utama (kecuali manajer peran default). Daftar lengkap manajer peran Casbin disediakan sebagai: manajer-peran.
Role manager

Siapa yang menggunakan Casbin?

Ratusan proyek menggunakan Casbin, dari perusahaan Fortune 500 yang mapan hingga startup baru yang menarik. Jika Anda ingin tahu apa yang dapat dicapai dengan Casbin, lihat aplikasi ini!