Ana içeriğe atla

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

Başlayın
[object Object]

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.

[object Object]

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.

[object Object]

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

Ö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.
Role manager

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!