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
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.
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.
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.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.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!