Casbin
Golang, Java, C/C++, Node.js, Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) ve Elixir için ACL, RBAC, ABAC gibi erişim kontrol modellerini destekleyen bir yetkilendirme kütüphanesi
Karma erişim kontrol modelleri
Casbin'de, bir erişim kontrol modeli PERM metamodeline (Politika, Etki, İstek, Eşleştiriciler) dayalı olarak bir CONF dosyasına soyutlanır. Bu nedenle, bir proje için yetkilendirme mekanizmasını değiştirmek veya yükseltmek, bir yapılandırmayı değiştirmek kadar basit olmaktadır.
Esnek politika depolama
Bellek ve dosya yanı sıra, Casbin politikası birçok yerde saklanabilir. Şu anda onlarca veritabanı desteklenmektedir; MySQL, Postgres, Oracle'dan MongoDB, Redis, Cassandra, AWS S3'e kadar. Tam desteklenen listeye buradan ulaşabilirsiniz: adaptörler.
Çapraz diller & çapraz platformlar
Casbin, Golang, Java, PHP ve Node.js'de uygulanmıştır. Tüm uygulamalar aynı API'ye ve davranışlara sahiptir. Casbin'i bir kez öğrenin ve her yerde kullanın.
Politika Kalıcılığı
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: adaptörler.Ölçekte politika uygulama
Bazı adaptörler filtrelenmiş politika yönetimini destekler. Bu, Casbin tarafından yüklenen politikanın, belirli bir filtreye dayalı olarak depolamadaki politikanın bir alt kümesi olduğu anlamına gelir. Bu, tüm politikayı ayrıştırmanın performans sorunu haline geldiği büyük, çok kiracılı ortamlarda etkili politika uygulaması sağlar.Rol yöneticisi
Rol yöneticisi, Casbin'de RBAC rol hiyerarşisini (kullanıcı-rol eşleştirmesi) yönetmek için kullanılır. Bir rol yöneticisi, rol verilerini Casbin politikası kurallarından veya LDAP, Okta, Auth0, Azure AD gibi dış kaynaklardan alabilir. Farklı rol yöneticisi uygulamalarını destekliyoruz. Hafif tutmak için rol yöneticisi kodunu ana kütüphanede tutmuyoruz (varsayılan rol yöneticisi hariç). Casbin rol yöneticilerinin tam listesi şu şekildedir: rol-yöneticileri.Casbin'i kimler kullanıyor?
Yüzlerce proje, Casbin'i kullanıyor, hem kurulmuş Fortune 500 şirketlerinden hem de yeni ve ateşli girişimlerden. Casbin ile neler başarılabileceğini görmek istiyorsanız, şu uygulamaları inceleyin!