Contributing
O Casbin é uma poderosa biblioteca de autorização que suporta modelos de controle de acesso com implementações em várias linguagens de programação. Se você é proficiente em qualquer linguagem de programação, pode contribuir para o desenvolvimento do Casbin. Novos contribuidores são sempre bem-vindos.
Atualmente, existem dois principais tipos de projetos:
- Projetos orientados a algoritmos - Esses projetos envolvem a implementação de algoritmos em diferentes linguagens de programação. O Casbin suporta uma ampla gama de linguagens, incluindo Golang, Java, C++, Elixir, Dart e Rust, juntamente com seus produtos relacionados.
Casbin | jCasbin | node-Casbin | PHP-Casbin |
Pronto para produção | Pronto para produção | Pronto para produção | Pronto para produção |
PyCasbin | Casbin.NET | Casbin-CPP | Casbin-RS |
Pronto para produção | Pronto para produção | Pronto para produção | Pronto para produção |
- Projetos orientados a aplicações - Esses projetos estão relacionados a aplicações construídas em cima do Casbin.
Projeto | Demonstração | Detalhes | Pilhas de habilidades |
---|---|---|---|
Casdoor | Casdoor | O Casdoor é uma plataforma centralizada de autenticação/UI-first/Single-Sign-On (SSO) baseada em OAuth 2.0/OIDC. | JavaScript + React e Golang + Beego + SQL |
Casnode | Fórum Casbin | O Casnode é um software de fórum de próxima geração. | JavaScript + React e Golang + Beego + SQL |
Casbin OA | Sistema OA | O Casbin-OA é um sistema oficial de processamento, avaliação e exibição de manuscritos para escritores técnicos do Casbin. | JavaScript + React e Golang + Beego + MySQL |
Casbin Editor | Editor Casbin | O Casbin-editor é um editor baseado na web para modelos e políticas do Casbin. | TypeScript + React |
Envolvendo-se
Há muitas maneiras de contribuir para o Casbin. Aqui estão algumas ideias para começar:
Use o Casbin e relate problemas! Ao usar o Casbin, relate quaisquer problemas que encontrar para ajudar a promover o desenvolvimento do Casbin. Seja um bug ou uma proposta, é recomendado registrar um problema no GitHub. No entanto, seria melhor ter uma discussão primeiro no Discord ou nas Discussões do GitHub antes de registrar um problema.
Nota: Ao relatar um problema, por favor use o inglês para descrever os detalhes do seu problema.
Ajude com a documentação! Contribuir para a documentação é um bom ponto de partida para sua contribuição.
Ajude a resolver problemas! Preparamos uma tabela contendo tarefas fáceis adequadas para iniciantes, com diferentes níveis de desafios marcados com diferentes tags. Você pode verificar a tabela aqui.
Pull Requests
O Casbin usa o GitHub como sua plataforma de desenvolvimento, então pull requests são a principal maneira de contribuir.
Antes de abrir um pull request, há algumas coisas que você precisa saber:
Explique por que você está enviando o pull request e o que ele fará pelo repositório.
Certifique-se de que o pull request faça apenas uma coisa. Se houver várias alterações, por favor divida-as em pull requests separados.
Se você estiver adicionando novos arquivos, por favor inclua a licença do Casbin no topo dos novos arquivos.
// 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.Em projetos como Casdoor, Casnode, e Casbin OA, você pode precisar configurar uma demonstração para mostrar ao mantenedor como seu pull request ajuda no desenvolvimento do projeto.
Ao abrir um pull request e enviar sua contribuição, é recomendado usar commits semânticos com o seguinte formato:
<type>(<scope>): <subject>
. O<scope>
é opcional. Para um uso mais detalhado, por favor consulte Commits Convencionais.
Licença
Ao contribuir para o Casbin, você concorda que suas contribuições serão licenciadas sob a Licença Apache.