4.9 KiB
Dashboard Routing Fix
Questo branch (fix-dashboard-routing) contiene le correzioni per risolvere i problemi di accesso alla dashboard nel branch dynamic-site-enhancement.
Problemi Risolti
1. Template Mancante
- ✅ Aggiunto il template mancante
templates/dashboard/users.html - Il template è ora completo con paginazione e gestione degli errori
2. Gestione Errori Migliorata
- ✅ Aggiunta gestione degli errori in tutte le route della dashboard
- ✅ Messaggi di errore più dettagliati per il debugging
- ✅ Fallback sicuri quando il database non è accessibile
3. Route di Debug
- ✅ Aggiunta route
/dashboard/debug/authper controllare lo stato di autenticazione - ✅ Aggiunta route
/dashboard/debug/accessper testare l'accesso alla dashboard - ✅ Informazioni dettagliate su sessioni e privilegi utente
4. Script di Utilità
- ✅ Creato script
utils/create_admin.pyper creare utenti amministratore - ✅ Supporto per creare, listare e promuovere utenti
Come Risolvere i Problemi di Accesso
Passo 1: Verifica la Configurazione
Assicurati che il file config.py abbia la SECRET_KEY configurata:
SECRET_KEY = 'your-secret-key-here'
Passo 2: Inizializza il Database
Assicurati che il database sia inizializzato e accessibile:
# Con Docker Compose
docker-compose up -d db
# Controlla i log per errori
docker-compose logs app
Passo 3: Crea un Utente Amministratore
Usa lo script di utilità per creare un utente admin:
# Crea utente admin predefinito
python utils/create_admin.py create
# Oppure promuovi un utente esistente
python utils/create_admin.py promote username
# Lista tutti gli utenti
python utils/create_admin.py list
Passo 4: Testa l'Accesso
-
Controlla lo stato di autenticazione:
GET /dashboard/debug/authQuesto ti dirà se sei loggato e hai i privilegi corretti.
-
Testa l'accesso alla dashboard:
GET /dashboard/debug/accessQuesto ti dirà se puoi accedere alla dashboard e perché.
-
Effettua il login:
- Vai a
/auth/login - Usa le credenziali dell'utente admin
- Dovresti essere reindirizzato automaticamente a
/dashboard/
- Vai a
Credenziali Admin Predefinite
Se usi lo script create_admin.py create, verranno create queste credenziali:
- Username:
admin - Email:
admin@hersel.it - Password:
admin123
⚠️ IMPORTANTE: Cambia la password predefinita dopo il primo login!
Troubleshooting
Problema: "401 Login required"
Soluzione: Non sei loggato. Vai a /auth/login e effettua il login.
Problema: "403 Admin access required"
Soluzione: Il tuo utente non ha privilegi di amministratore. Usa:
python utils/create_admin.py promote il_tuo_username
Problema: "500 Internal Server Error"
Possibili cause:
- Database non accessibile
- Errore nei template
- Configurazione mancante
Debug:
- Controlla i log dell'applicazione
- Usa le route di debug:
/dashboard/debug/authe/dashboard/debug/access - Verifica la configurazione del database
Problema: Template non trovato
Soluzione: Assicurati che tutti i template esistano in templates/dashboard/:
index.html✅projects.html✅project_form.html✅users.html✅ (aggiunto in questo fix)base.html✅
URL della Dashboard
Dopo aver risolto i problemi di autenticazione, puoi accedere a:
- Dashboard principale:
/dashboard/ - Gestione progetti:
/dashboard/projects - Nuovo progetto:
/dashboard/projects/new - Gestione utenti:
/dashboard/users - Debug autenticazione:
/dashboard/debug/auth - Test accesso:
/dashboard/debug/access
Modifiche Apportate
templates/dashboard/users.html- Nuovo template per la gestione utentiroutes/dashboard.py- Migliorate gestione errori e aggiunte route di debugutils/create_admin.py- Nuovo script per gestire utenti amministratoreDASHBOARD_FIX.md- Questa documentazione
Come Applicare i Fix
-
Merge di questo branch:
git checkout dynamic-site-enhancement git merge fix-dashboard-routing -
Oppure crea un PR:
- Crea una pull request da
fix-dashboard-routingadynamic-site-enhancement - Rivedi le modifiche e fai il merge
- Crea una pull request da
-
Testa l'applicazione:
# Restart dell'applicazione docker-compose restart app # Crea utente admin docker-compose exec app python utils/create_admin.py create # Testa l'accesso curl http://localhost:5000/dashboard/debug/access
Supporto
Se hai ancora problemi dopo aver applicato questi fix:
- Controlla i log dell'applicazione
- Usa le route di debug per diagnosticare il problema
- Verifica che il database sia accessibile
- Assicurati di avere un utente con privilegi di amministratore
Tutti i fix sono backward-compatible e non dovrebbero causare problemi al codice esistente.