Changeset 8cb1dc7 in Klonkt for src/middleware/auth.js
- Timestamp:
- 06/14/2026 04:17:14 PM (3 months ago)
- Branches:
- main
- Children:
- 640b39c
- Parents:
- ccbd6a6
- File:
-
- 1 edited
-
src/middleware/auth.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/middleware/auth.js
rccbd6a6 r8cb1dc7 2 2 * Auth middleware 3 3 */ 4 5 import db from '../config/database.js'; 4 6 5 7 /** … … 42 44 next(); 43 45 } 46 47 // Mag de ingelogde user de HUIDIGE site (res.locals.site) beheren? god altijd; 48 // anders alleen de owner van die site. Gebruikt voor site-gescopete beheerroutes 49 // die een artiest via /user/<eigen-slug>/admin/... bereikt (res.locals.site is dan 50 // z'n eigen site; een vreemde slug levert een andere site -> 403). 51 export function requireSiteManager(req, res, next) { 52 if (!req.session?.user) return loginRedirect(req, res); 53 const u = req.session.user; 54 if (u.role === 'god') return next(); 55 const site = res.locals.site; 56 if (site && site.owner_id === u.id) return next(); 57 return res.status(403).send('Geen toegang tot deze site.'); 58 } 59 60 // Idem, maar de site wordt bepaald door de :slug-parameter (bv. site-edit). 61 export function requireSiteManagerBySlug(req, res, next) { 62 if (!req.session?.user) return loginRedirect(req, res); 63 const u = req.session.user; 64 if (u.role === 'god') return next(); 65 const site = db.prepare('SELECT owner_id FROM sites WHERE slug = ?').get(req.params.slug); 66 if (site && site.owner_id === u.id) return next(); 67 return res.status(403).send('Geen toegang tot deze site.'); 68 }
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)