Repository navigation
Refatoração de Segurança (UUID v4) e Controle de Acesso Baseado em Perfis (RBAC) - #47
Merged
Merged
Conversation
…s e expandir validações
caio-unicamp
requested changes
Oct 5, 2026
caio-unicamp
left a comment
Collaborator
There was a problem hiding this comment.
Talvez seja bom checar se as bibliotecas acrescentadas não precisa colocar no requirements.txt, de resto tudo certo
Owner
Author
Todas as bibliotecas fazem parte da biblioteca padrão do Python, então não é necessário adicionar no requirements.txt |
Collaborator
Nesse caso, tá aprovado |
caio-unicamp
self-requested a review
October 5, 2026 12:03
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Contexto e Objetivo
Implementação de mecanismos de segurança e estabelecimento de um sistema de Controle de Acesso Baseado em Perfis (RBAC). A arquitetura foi refatorada para utilizar um UUID v4 imutável como chave primária interna do sistema, deixando o
usernameestritamente como nome de exibição. Adicionalmente, foi criado um gerenciador de rotas capaz de ler o escopo da conta autenticada, realizar o redirecionamento automático para o contexto correto e bloquear o acesso a painéis não autorizados.O que foi feito
Identidade e Segurança (UUID): Implementação de geração automática de UUID v4 imutável (via
@property ide_id) na classe baseUsuario.Refatoração do Banco em Memória: O
ServicoAutenticacao(embase.py) passou a indexar os registros exclusivamente pelo UUID (_banco_por_id), utilizando ousernameapenas como um mapeamento secundário para o login.Controle de Acesso e Roteamento (
autorizacao.py):ControleDeAcessoe da exceção customizadaErroAcessoNaoAutorizado(simulando HTTP 403).BOTC_JOGADOR) para Macro Escopos (SCOPE_BCT,SCOPE_CACO,SCOPE_AUSTRALIA).despachar_apos_loginpara direcionar cada perfil à sua respectiva interface.Auditoria nos Sistemas Eleitorais: As classes de domínio
EleicaoAustralia,SistemaEleitoralBotCeEleicaoAssembleiaforam refatoradas para validar quóruns, cédulas e registro de votos exigindo estritamente oUser_ID, neutralizando interceptações na interface gráfica.Adaptação da CLI (Interface): Remoção do controle defasado de
proximo_id_usuarionas telas de sessão e cadastro. Ajuste natela_caco.pypara trafegar ousuario.idna hora de registrar os votos da assembleia.Qualidade e Testes:
pytest.ruff), aplicandotyping.ClassVarnos dicionários mutáveis de configuração.Critérios de Aceite
Rastreabilidade
Closes #30 #27 #32 #29