Backlog Unificado
Projeto: RioNoTeatro. Fonte principal: /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Modo read-only: ações de escrita ficam disponíveis apenas para o Cérebro.
Sem itens pendentes em /www/wwwroot/rionoteatro.com.br/docs/BACKLOG.md.
Especificações Disponíveis (fora da fila pendente)
- BK-136
- BK-137
- BK-138
- BK-147
- BK-148
- BK-149
- BK-150
- BK-151
- BK-156
- BK-158
- BK-159
- BK-160
- BK-161
- BK-162
- BK-163
- BK-164
- BK-165
- BK-166
- BK-170
- BK-171
- BK-172
- BK-177
- BK-183
- BK-186
- BK-187
- BK-189
- BK-190
- BK-191
- BK-192
- BK-193
- BK-195
- BK-196
- BK-197
- BK-198
- BK-199
- BK-201
- BK-205
- BK-207
- BK-208
- BK-209
- BK-210
- BK-211
- BK-212
- BK-213
- BK-214
- BK-215
- BK-216
- BK-217
- BK-218
- BK-219
- BK-220
- BK-221
- BK-229
- BK-230
- BK-231
- BK-232
- BK-233
- BK-234
- BK-235
- BK-236
- BK-239
- BK-240
- BK-241
- BK-242
- BK-243
- BK-244
- BK-245
- BK-246
- BK-248
- BK-249
- BK-250
- BK-251
- BK-252
- BK-253
- BK-254
- BK-255
- BK-256
- BK-257
- BK-258
- BK-259
- BK-260
- BK-261
- BK-262
- BK-263
- BK-264
- BK-265
- BK-266
- BK-267
- BK-268
- BK-269
- BK-270
- BK-271
- BK-272
- BK-275
- BK-276
- BK-277
- BK-278
- BK-279
- BK-280
- BK-295
- BK-313
Detalhe do BK Selecionado
/www/wwwroot/rionoteatro.com.br/docs/backlog/BK-221-login-admin-redirect-pos-login.md • 2026-04-07T03:07:42.432Z
BK-221 - Login admin com retorno para a URL originalmente solicitada
Contexto
- Links profundos do admin estavam perdendo o destino original quando o usuário não estava autenticado.
- Exemplo reportado:
admin/modulos/campanhas/aprovar_squad.php?id=post_1098_1775490151. - O fluxo atual sempre terminava em
admin/index.phpapós login bem-sucedido.
Objetivo da rodada
- Fazer o login do admin lembrar a URL originalmente solicitada.
- Tornar esse comportamento padrão nos pontos do admin que hoje só redirecionam para
URL_LOGIN. - Manter validação segura do destino para evitar redirect externo.
Escopo técnico
admin/data/config.phpadmin/data/functions.phpadmin/action.phpadmin/login.phpadmin/modulos/campanhas/bootstrap_v2.php- módulos
bootstrap.phpdo admin que protegiam acesso comURL_LOGIN admin/modulos/slider/slider.php
Estratégia aplicada
- Criar helper central para:
- capturar a URL atual;
- normalizar e validar destinos internos de
/admin/; - gerar a URL de login com
redirect=....
- Trocar os guardas de autenticação do admin para usar esse helper.
- Fazer o formulário de login reenviar
redirect_to. - Fazer o
action.phpusar esse destino no sucesso e preservá-lo no erro.
Segurança
- O redirect só aceita destinos internos de
/admin/. - URLs externas,
login,action.phpebloqueadosão descartadas. - Fallback padrão continua sendo
admin/index.php.
Validação executada
php -lem todos os arquivos PHP alterados.- Revisão do diff para confirmar que nenhum fluxo de logout foi alterado indevidamente.
Evidências
- Validação local concluída em
2026-04-06: php -lok em todos os arquivos PHP alterados desta rodada.- diff revisado para manter logout fora do escopo.
- smoke test do helper ok:
admin_build_login_url()gerouhttps://rionoteatro.com.br/admin/login/?redirect=%2Fadmin%2Fmodulos%2Fcampanhas%2Faprovar_squad.php%3Fid%3Dpost_1098_1775490151admin_normalize_redirect_target()preservou/admin/modulos/campanhas/aprovar_squad.php?id=post_1098_1775490151- Segunda opinião externa:
opencodeconfirmou a mesma causa raiz geral: destino perdido antes do login e redirect final hardcoded.gemininão pôde ser usado nesta VPS porque o CLI está sem autenticação configurada no ambiente atual.- Validação humana no ar concluída em
2026-04-07: - link profundo do admin abriu o login quando não havia sessão;
- após autenticar, o usuário retornou corretamente para a URL originalmente solicitada.
Fechamento
- BK encerrado após validação local, smoke test do helper e teste real confirmado pelo admin na sessão.
- Changelog final publicado em
docs/changelog/CL-BK-221-login-admin-redirect-pos-login.md.