Sezione Campus: layout dedicato, route protette e documentazione

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-25 15:40:07 +02:00
parent 7baebebc09
commit c4107b84a5
15 changed files with 565 additions and 52 deletions
+4 -2
View File
@@ -1,7 +1,7 @@
---
import Admin from '../../layouts/Admin.astro';
import { getDb } from '../../lib/db';
import { login, SESSION_COOKIE } from '../../lib/auth';
import { login, getSessionUser, landingFor, SESSION_COOKIE } from '../../lib/auth';
import { rateLimit } from '../../lib/rate-limit';
export const prerender = false;
@@ -17,7 +17,9 @@ if (Astro.request.method === 'POST') {
httpOnly: true, sameSite: 'lax', path: '/',
secure: import.meta.env.PROD, maxAge: 7 * 24 * 3600,
});
return Astro.redirect('/admin');
// Ogni ruolo atterra sulla sua sezione: campus fuori dal pannello, gli
// altri sulla pagina admin che possono effettivamente aprire.
return Astro.redirect(landingFor(getSessionUser(getDb(), token)?.role ?? 'user'));
}
error = 'Credenziali non valide.';
}