UC06 - Gerenciar Acessos e Permissões
1. Atores
Atores principais: Administrador
2. Objetivo
Permitir que administradores gerenciem os níveis de acesso dos usuários, atribuindo, alterando, revogando cargos e banindo usuários da plataforma.
3. Pré-condições
- O ator deve estar autenticado no aplicativo.
- O ator deve possuir perfil de administrador.
- O ator deve acessar a página de Gestão de Acessos.
- O sistema deve possuir conexão ativa com o backend.
- O backend deve estar integrado ao banco de dados Firebase/Firestore.
4. Fluxo Principal
FP01 - Atribuir Cargo ao Usuário
- O administrador acessa a página de Gestão de Acessos. (RF23)
- O sistema identifica o administrador autenticado. (RF23)
- O sistema apresenta a lista de usuários cadastrados e seus respectivos cargos. (RF23)
- O administrador seleciona um usuário comum. (RF21)
- O administrador aciona a opção de atribuir cargo. (RF21)
- O sistema apresenta os cargos disponíveis. (RF21)
- O administrador seleciona o cargo desejado. (RF21)
- O administrador confirma a operação. (RF21)
- O sistema valida a solicitação. (RF21)
- O sistema atualiza as permissões do usuário no banco de dados. (RF21)
- O sistema atualiza a listagem de usuários. (RF21, RF23)
- O sistema exibe mensagem de sucesso informando que o cargo foi atribuído. (RF21)
5. Fluxos Alternativos
FA01 - Listar Usuários
- O administrador acessa a página de Gestão de Acessos. (RF23)
- O sistema busca os usuários cadastrados. (RF23)
- O sistema exibe os usuários e seus respectivos níveis de acesso. (RF23)
- O administrador visualiza as informações. (RF23)
FA02 - Alterar Cargo de Usuário
- O administrador seleciona um usuário que já possui um cargo. (RF22)
- O administrador aciona a opção de alterar permissões. (RF22)
- O sistema apresenta os cargos disponíveis. (RF22)
- O administrador seleciona o novo cargo. (RF22)
- O administrador confirma a alteração. (RF22)
- O sistema valida a solicitação. (RF22)
- O sistema atualiza as permissões do usuário. (RF22)
- O sistema exibe mensagem de sucesso informando que o cargo foi alterado. (RF22)
FA03 - Revogar Cargo Especial
- O administrador seleciona um usuário que possui um cargo especial. (RF24)
- O administrador aciona a opção de revogar privilégios. (RF24)
- O sistema solicita confirmação da operação. (RF24)
- O administrador confirma a revogação. (RF24)
- O sistema altera o usuário para o nível de usuário comum. (RF24)
- O sistema atualiza a listagem de usuários. (RF24, RF23)
- O sistema exibe mensagem de sucesso informando que o cargo foi revogado. (RF24)
FA04 - Banir Usuário
- O administrador seleciona um usuário. (RF20)
- O administrador aciona a opção de banimento. (RF20)
- O sistema solicita confirmação da operação. (RF20)
- O administrador confirma o banimento. (RF20)
- O sistema inativa a conta do usuário. (RF20)
- O sistema impede novos acessos utilizando aquela conta. (RF20)
- O sistema atualiza a listagem de usuários. (RF20, RF23)
- O sistema exibe mensagem de sucesso informando que o usuário foi banido. (RF20)
FA05 - Cancelar Operação
- Durante qualquer operação de gerenciamento de permissões, o administrador aciona a opção de cancelar ou voltar. (RF20, RF21, RF22, RF24)
- O sistema descarta as alterações não salvas. (RF20, RF21, RF22, RF24)
- O sistema retorna para a tela anterior. (RF20, RF21, RF22, RF24)
- Nenhuma alteração é realizada no banco de dados. (RF20, RF21, RF22, RF24)
6. Fluxos de Exceção
FE01 - Usuário Não Possui Permissão Administrativa
- Um usuário sem perfil de administrador tenta acessar a Gestão de Acessos. (RF20, RF21, RF22, RF23, RF24)
- O sistema identifica a ausência de permissões administrativas. (RF20, RF21, RF22, RF23, RF24)
- O sistema bloqueia o acesso à funcionalidade. (RF20, RF21, RF22, RF23, RF24)
- O sistema informa que o acesso é restrito a administradores. (RF20, RF21, RF22, RF23, RF24)
FE02 - Auto-Bloqueio Administrativo
- O administrador tenta banir sua própria conta ou remover seu próprio cargo administrativo. (RF20, RF24)
- O sistema identifica a tentativa de auto-bloqueio. (RF20, RF24)
- O sistema verifica se existe outro administrador ativo. (RF20, RF24)
- Caso não exista outro administrador, o sistema impede a operação. (RF20, RF24)
- O sistema informa que a plataforma deve possuir pelo menos um administrador ativo. (RF20, RF24)
FE03 - Usuário Indisponível
- O administrador tenta alterar, revogar ou banir um usuário. (RF20, RF22, RF24)
- O sistema verifica a existência do usuário. (RF20, RF22, RF24)
- O sistema identifica que o usuário foi removido ou encontra-se indisponível. (RF20, RF22, RF24)
- O sistema impede a operação. (RF20, RF22, RF24)
- O sistema atualiza a listagem de usuários. (RF23)
FE04 - Falha de Conectividade
- O administrador tenta executar uma operação sem conexão com o backend. (RF20, RF21, RF22, RF23, RF24)
- O sistema não consegue concluir a operação. (RF20, RF21, RF22, RF23, RF24)
- O sistema exibe mensagem de falha de conexão. (RF20, RF21, RF22, RF23, RF24)
- O sistema orienta o administrador a tentar novamente quando a conexão for restabelecida. (RF20, RF21, RF22, RF23, RF24)
FE05 - Erro Interno no Banco de Dados
- O administrador confirma uma operação válida de gerenciamento de acessos. (RF20, RF21, RF22, RF23, RF24)
- O sistema tenta registrar, atualizar ou consultar dados no Firestore. (RF20, RF21, RF22, RF23, RF24)
- O banco de dados retorna erro ou indisponibilidade. (RF20, RF21, RF22, RF23, RF24)
- O sistema cancela a operação. (RF20, RF21, RF22, RF23, RF24)
- O sistema exibe mensagem de erro interno. (RF20, RF21, RF22, RF23, RF24)
7. Regras de Negócio
- RN11 - Efeito imediato de alteração de acesso e banimento reversível
- RN12 - Bloqueio de autoexclusão ou autobanimento do último Administrador
8. Requisitos Relacionados
| RF | Relação com a UC |
|---|---|
| RF20 - Banir usuário | Permite que administradores banam usuários infratores da aplicação. |
| RF21 - Atribuir cargos de usuário | Permite que administradores atribuam permissões específicas aos usuários. |
| RF22 - Editar cargos de usuário | Permite que administradores modifiquem os níveis de acesso de um usuário existente. |
| RF23 - Listar cargos de usuário | Permite que administradores visualizem os cargos disponíveis e quem os ocupa. |
| RF24 - Desatribuir cargos de usuário | Permite que administradores removam um cargo atribuído a um usuário. |
9. Protótipo

Link do Figma: Figma
10. Aplicação do DoR
Aplicação do DoR: Issue Uc06
Print do checklist DoR:

11. Fluxo de Acesso à UC
