Zum Hauptinhalt springen

Contributing

Casbin ist eine leistungsstarke Autorisierungsbibliothek, die Zugriffskontrollmodelle mit Implementierungen in vielen Programmiersprachen unterstützt. Wenn Sie in irgendeiner Programmiersprache versiert sind, können Sie zur Entwicklung von Casbin beitragen. Neue Mitwirkende sind immer willkommen.

Derzeit gibt es zwei Haupttypen von Projekten:

  • Algorithmenorientierte Projekte - Diese Projekte beinhalten die Implementierung von Algorithmen in verschiedenen Programmiersprachen. Casbin unterstützt eine breite Palette von Sprachen, einschließlich Golang, Java, C++, Elixir, Dart und Rust, zusammen mit ihren zugehörigen Produkten.
golangjavanodejsphp
CasbinjCasbinnode-CasbinPHP-Casbin
ProduktionsbereitProduktionsbereitProduktionsbereitProduktionsbereit
pythondotnetc++rust
PyCasbinCasbin.NETCasbin-CPPCasbin-RS
ProduktionsbereitProduktionsbereitProduktionsbereitProduktionsbereit
  • Anwendungsorientierte Projekte - Diese Projekte beziehen sich auf Anwendungen, die auf Casbin aufgebaut sind.
ProjektDemoDetailsFähigkeiten
CasdoorCasdoorCasdoor ist eine UI-zentrierte zentrale Authentifizierungs-/Single-Sign-On (SSO) Plattform basierend auf OAuth 2.0/OIDC.JavaScript + React und Golang + Beego + SQL
CasnodeCasbin ForumCasnode ist eine Software für Foren der nächsten Generation.JavaScript + React und Golang + Beego + SQL
Casbin OAOA SystemCasbin-OA ist ein offizielles Manuskriptverarbeitungs-, Bewertungs- und Anzeigesystem für Casbin-Technikautoren.JavaScript + React und Golang + Beego + MySQL
Casbin EditorCasbin EditorCasbin-Editor ist ein webbasierter Editor für Casbin-Modelle und -Richtlinien.TypeScript + React

Mitmachen

Es gibt viele Möglichkeiten, zu Casbin beizutragen. Hier sind einige Ideen, um anzufangen:

  • Verwenden Sie Casbin und melden Sie Probleme! Wenn Sie Casbin verwenden, melden Sie alle Probleme, die Sie begegnen, um die Entwicklung von Casbin zu fördern. Ob es sich um einen Fehler oder einen Vorschlag handelt, wird empfohlen, ein Problem auf GitHub zu melden. Es wäre jedoch besser, zuerst eine Diskussion auf Discord oder GitHub Discussions zu führen, bevor ein Problem gemeldet wird.

    Hinweis: Wenn Sie ein Problem melden, beschreiben Sie bitte die Details Ihres Problems auf Englisch.

  • Helfen Sie bei der Dokumentation! Ein Beitrag zur Dokumentation ist ein guter Ausgangspunkt für Ihren Beitrag.

  • Helfen Sie, Probleme zu lösen! Wir haben eine Tabelle mit einfachen Aufgaben für Anfänger vorbereitet, die mit verschiedenen Herausforderungsstufen gekennzeichnet sind. Sie können die Tabelle hier einsehen.

Pull Requests

Casbin verwendet GitHub als Entwicklungsplattform, daher sind Pull Requests der Hauptweg zur Mitarbeit.

Bevor Sie einen Pull Request öffnen, gibt es einige Dinge, die Sie wissen müssen:

  • Erklären Sie, warum Sie den Pull Request senden und was er für das Repository tun wird.

  • Stellen Sie sicher, dass der Pull Request nur eine Sache tut. Wenn es mehrere Änderungen gibt, teilen Sie diese bitte in separate Pull Requests auf.

  • Wenn Sie neue Dateien hinzufügen, fügen Sie bitte die Casbin-Lizenz am Anfang der neuen Datei(en) ein.

    // Copyright 2021 The casbin Authors. All Rights Reserved.
    //
    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at
    //
    // http://www.apache.org/licenses/LICENSE-2.0
    //
    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific language governing permissions and
    // limitations under the License.
  • In Projekten wie Casdoor, Casnode und Casbin OA müssen Sie möglicherweise eine Demo einrichten, um dem Maintainer zu zeigen, wie Ihr Pull Request die Entwicklung des Projekts unterstützt.

  • Wenn Sie einen Pull Request öffnen und Ihren Beitrag committen, wird empfohlen, semantische Commits im folgenden Format zu verwenden: <type>(<scope>): <subject>. Der <scope> ist optional. Für eine detailliertere Nutzung verweisen Sie bitte auf Conventional Commits.

Lizenz

Indem Sie zu Casbin beitragen, stimmen Sie zu, dass Ihre Beiträge unter der Apache-Lizenz lizenziert werden.