For future Claude
Sete bugs de autorização/comportamento encontrados no roteiro multi-perfil (2026-08-01). Corrigidos com paridade Java (não o roteiro, quando conflita). Verificação _verify_bugs.py → 24/24 PASS após deploy 2026-08-01/02. Relacionado: Homologacao · Seguranca · Testes.
AuthZ bugs — 2026-08-01
Princípio
Java DefaultUserTypesPolicy / *Action.checkIfAllowedToDo / message.properties vencem o roteiro _roteiro_teste_perfis.md quando há divergência.
Tabela
| ID | Severidade | Sintoma | Fix .NET | Paridade Java |
|---|---|---|---|---|
| BUG-01 | Alta | Users/Clients/ViewOnly listava 721 clientes a qualquer login |
[Authorize(CanManageClients)] |
ViewClientAction → canViewClient (= canManageClient default) |
| BUG-02 | Alta | Jobs/Delete aberto a Trans/Edit/Qa |
CanDeleteJob (não CanManageJobs) |
UI canDeleteJob Admin/Supervisor |
| BUG-03 | Alta* | Edit + dropdown 731 clientes | CanEditJob + clients por org / unorganized-only |
Client/staff têm canEditJob; SingleJobAction.edit scope org |
| BUG-04 | Média | Download/Template/{jobId} devolve áudio |
Template via ITemplateService + legacy fileId |
downloadTemplate usa Templates por fileId |
| BUG-05 | Média* | MFA “negado” a não-admins | Mantém CanManageStaff — não self-service |
MFAManagementAction = manage users/staff |
| BUG-06 | Média | Sessão duplicada sem mensagem | Texto index.login.4 |
Login Error: You are already logged in from another computer… |
| BUG-07 | Baixa | Jobs/Split aberto ao Client |
CanSplitJobs |
Supervisor+Transcriber Y; Client/Admin(default)/Edit/Qa N |
*Roteiro classificava como bug; comportamento Java diverge do esperado do roteiro.
Policies novas
PermissionNames: CanEditJob, CanDeleteJob, CanSplitJobs (+ leitura blob canSplitJobs / canViewClient).
Contas / repro
Ver Homologacao. Dados brutos: _bugs_encontrados.md, _roteiro_run.json.