Contributing
Casbin - это мощная библиотека авторизации, поддерживающая модели контроля доступа с реализациями на многих языках программирования. Если вы владеете любым языком программирования, вы можете внести свой вклад в развитие Casbin. Новые участники всегда приветствуются.
В настоящее время существует два основных типа проектов:
- Проекты, ориентированные на алгоритмы - эти проекты включают в себя реализацию алгоритмов на разных языках программирования. Casbin поддерживает широкий спектр языков, включая Golang, Java, C++, Elixir, Dart и Rust, а также связанные с ними продукты.
Casbin | jCasbin | node-Casbin | PHP-Casbin |
Готово к производству | Готово к производству | Готово к производству | Готово к производству |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
Готово к производству | Готово к производству | Готово к производству | Готово к производству |
- Проекты, ориентированные на приложения - Эти проекты связаны с приложениями, построенными на основе Casbin.
Проект | Демо | Детали | Стеки навыков |
---|---|---|---|
Casdoor | Casdoor | Casdoor - это платформа централизованной аутентификации/единого входа (SSO), основанная на OAuth 2.0/OIDC. | JavaScript + React и Golang + Beego + SQL |
Casnode | Форум Casbin | Casnode - это программное обеспечение для форумов нового поколения. | JavaScript + React и Golang + Beego + SQL |
Casbin OA | Система OA | Casbin-OA - это официальная система обработки, оценки и отображения рукописей для технических писателей Casbin. | JavaScript + React и Golang + Beego + MySQL |
Редактор Casbin | Редактор Casbin | Casbin-editor - это веб-редактор для моделей и политик Casbin. | TypeScript + React |
Принять участие
Есть много способов внести свой вклад в развитие Casbin. Вот несколько идей для начала:
Используйте Casbin и сообщайте о проблемах! При использовании Casbin сообщайте о любых проблемах, с которыми вы столкнулись, чтобы помочь продвижению развития Casbin. Будь то ошибка или предложение, рекомендуется оставить заявку на GitHub. Однако было бы лучше сначала обсудить это на Discord или GitHub Discussions перед тем, как оставить заявку.
Примечание: При сообщении о проблеме, пожалуйста, используйте английский язык для описания деталей вашей проблемы.
Помощь с документацией! Вклад в документацию - хорошая отправная точка для вашего вклада.
Помогите решить проблемы! Мы подготовили таблицу, содержащую простые задачи, подходящие для новичков, с различными уровнями сложности, обозначенными разными тегами. Вы можете проверить таблицу здесь.
Запросы на слияние
Casbin использует GitHub в качестве платформы для разработки, поэтому запросы на слияние являются основным способом внесения вклада.
Прежде чем открыть запрос на слияние, вам нужно знать несколько вещей:
Объясните, почему вы отправляете запрос на слияние и что это даст для репозитория.
Убедитесь, что запрос на слияние делает только одно. Если есть несколько изменений, разделите их на отдельные запросы на слияние.
Если вы добавляете новые файлы, пожалуйста, включите лицензию Casbin в начало нового файла(ов).
// 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.В проектах, таких как Casdoor, Casnode и Casbin OA, вам может потребоваться настроить демо, чтобы показать владельцу, как ваш запрос на слияние помогает в разработке проекта.
При открытии запроса на слияние и внесении вашего вклада рекомендуется использовать семантические коммиты следующего формата:
<type>(<scope>): <subject>
.<scope>
является необязательным. Для более подробного использования, пожалуйста, обратитесь к Conventional Commits.
Лицензия
Внося вклад в Casbin, вы соглашаетесь, что ваши вклады будут лицензированы по лицензии Apache.