Zum Hauptinhalt springen

Casbin

Eine Autorisierungsbibliothek, die Zugriffssteuerungsmodelle wie ACL, RBAC, ABAC für Golang, Java, C/C++, Knoten unterstützt. , Javascript, PHP, Laravel, Python, .NET (C#), Delphi, Rust, Ruby, Swift (Objective-C), Lua (OpenResty), Dart (Flutter) und Elixir

Los geht's

Hybrid-Zugriffssteuerungsmodelle

In Casbin wird ein Zugriffskontrollmodell in eine CONF-Datei basierend auf der PERM-Metamodel (Policy, Effect, Request, Matchers) abstrahiert. Das Umschalten oder Aktualisieren des Autorisierungsmechanismus für ein Projekt ist daher genauso einfach wie das Ändern einer Konfiguration.

Flexibler Richtlinienspeicher

Neben Speicher und Datei kann die Casbin-Richtlinie an vielen Stellen gespeichert werden. Derzeit werden Dutzende von Datenbanken unterstützt, von MySQL, Postgres, Oracle bis MongoDB, Redis, Cassandra, AWS S3. Überprüfen Sie die vollständige unterstützte Liste unter: adapter.

Sprachen und Plattformen übergreifend

Casbin ist in Golang, Java, PHP und Node.js implementiert. Alle Implementierungen teilen die gleiche API und das gleiche Verhalten. Sie können Casbin einmal lernen und überall verwenden.

Dauerhaftigkeit der Richtlinien

In Casbin wird die Speicherung der Richtlinien als Adapter implementiert (auch Middleware für Casbin). Um das geringe Gewicht zu behalten, legen wir den Adaptercode nicht in die Hauptbibliothek (außer den Standard-Datei-Adapter). Eine vollständige Liste der Casbin-Adapter finden Sie wie unten. Jeder Beitrag von Drittanbietern an einem neuen Adapter wird begrüßt, Bitte informieren Sie uns und ich werde es in diese Liste einfügen:) Details zu Adaptern finden Sie in der Dokumentation: adapter.
Policy Persistence
Policy enforcement at scale

Durchsetzung der Richtlinien im Maßstab

Einige Adapter unterstützen gefiltertes Richtlinien-Management. Dies bedeutet, dass die von Casbin geladene Richtlinie eine Teilmenge der Richtlinie im Speicher ist, die auf einem bestimmten Filter basiert. Dies ermöglicht eine effiziente Durchsetzung der Richtlinien in großen, mehrköpfigen Umgebungen, wenn das Parsen der gesamten Politik zu einem Leistungsengpäck wird.

Rollen-Manager

Der Rollenmanager wird verwendet, um die RBAC Rollenhierarchie (Benutzerrollenzuordnung) in Casbin zu verwalten. Ein Rollenmanager kann die Rollendaten aus den Regeln der Casbin-Richtlinien oder externen Quellen wie LDAP, Okta, Auth0, Azure AD usw. abrufen. Wir unterstützen verschiedene Implementierungen eines Rollenmanagers. Um das Gewicht gering zu halten, setzen wir den Rollenmanager Code nicht in die Hauptbibliothek (außer den Standard-Rollenmanager). Eine vollständige Liste der Casbin Rollenmanager wird bereitgestellt: role-manager.
Role manager

Wer nutzt Casbin?

Hunderte von Projekten setzen Kasbin ein, von etablierten Fortune-500-Unternehmen bis hin zu heißen Startups. f Du bist neugierig zu sehen, was du machen kannst, diese Apps ansehen!