2026-01-18_auth-guards-permissions
Documentação KOLOS

2026-01-18_auth-guards-permissions

🧭 Contexto

O Dashboard e áreas internas do KOLOS precisam ser acessíveis apenas por usuários autenticados. Além disso, começamos a aplicar ACL/RBAC com Spatie Permission, para separar o que é área de Player vs. outras personas (owner/staff/organizer).

✅ Decisão

  • Criar uma tela de login em Livewire (/login) e um endpoint de logout (POST /logout).
  • Proteger rotas internas com auth.
  • Iniciar RBAC com middleware role:player nas rotas de Player (Booking/Comunidade/Meu Card).
  • Registrar aliases do Spatie Permission em bootstrap/app.php (Laravel 12), para usar role, permission e role_or_permission corretamente.

🛠️ Passos (comandos via Sail)

  • sail bin pint
  • sail bin phpstan analyse
  • sail artisan test

🧪 Validação

  • Acessar http://localhost/dashboard como guest deve redirecionar para http://localhost/login.
  • Usuário com role player acessa http://localhost/booking.
  • Usuário sem role player recebe 403 ao acessar http://localhost/booking.

📦 Impacto

  • Dashboard fica “atrás do login”.
  • Primeira aplicação real de RBAC no app principal (sem misturar com Filament).
  • Base pronta para evoluir permissões finas por módulo (ex.: VenueOwner, Staff, Organizer).