# server-patch.txt — Admin static-serve patch för /opt/amos/scripts/server.mjs # Genererad: 2026-05-10 ## Vad ska läggas till Infoga följande rad I /opt/amos/scripts/server.mjs: app.use('/admin', requirePageAuth, express.static(path.join(__dirname, '../public/admin'))); ## Var (viktig säkerhetsaspekt) Raden MÅSTE placeras FÖRE rad 3642 (den globala express.static-raden): app.use(express.static(join(__dirname, '../public'))); Om den placeras EFTER den globala static-servern kommer Express att servera filer under /public/admin/ utan autentisering — auth-middlewaren nås aldrig. ## Exakt insättningspunkt Fil: /opt/amos/scripts/server.mjs Rad: 3642 (före denna rad) Befintligt block (rad 3124–3129) hanterar redan .html-filer med requireAdminRole. Den nya raden skyddar även statiska assets (JS, CSS, bilder) under /public/admin/. ## Diff --- a/scripts/server.mjs +++ b/scripts/server.mjs @@ -3641,6 +3641,7 @@ }); +app.use('/admin', requirePageAuth, express.static(path.join(__dirname, '../public/admin'))); app.use(express.static(join(__dirname, '../public'))); ## Notera - Befintlig kod använder `join` (importerad från 'path'), inte `path.join`. Funktionellt identiskt — välj samma stil som resten av filen för konsekvens: app.use('/admin', requirePageAuth, express.static(join(__dirname, '../public/admin'))); - `requirePageAuth` kontrollerar inloggning. Om admin-assets även kräver admin-roll, lägg till `requireAdminRole` som andra middleware: app.use('/admin', requirePageAuth, requireAdminRole, express.static(join(__dirname, '../public/admin')));