Refactoring

This commit is contained in:
Carsten Graf
2026-01-23 14:13:18 +01:00
parent 33c62a7a2a
commit a0acd188a8
22 changed files with 2392 additions and 1611 deletions

48
middleware/auth.js Normal file
View File

@@ -0,0 +1,48 @@
// Authentifizierungs-Middleware
const { hasRole } = require('../helpers/utils');
// Middleware: Authentifizierung prüfen
function requireAuth(req, res, next) {
if (req.session.userId) {
next();
} else {
res.redirect('/login');
}
}
// Middleware: Prüft ob User eine bestimmte Rolle hat
function requireRole(role) {
return (req, res, next) => {
if (req.session.userId && hasRole(req, role)) {
next();
} else {
res.status(403).send('Zugriff verweigert');
}
};
}
// Middleware: Admin-Rolle prüfen
function requireAdmin(req, res, next) {
if (req.session.userId && hasRole(req, 'admin')) {
next();
} else {
res.status(403).send('Zugriff verweigert');
}
}
// Middleware: Verwaltung-Rolle prüfen (Verwaltung oder Admin)
function requireVerwaltung(req, res, next) {
if (req.session.userId && (hasRole(req, 'verwaltung') || hasRole(req, 'admin'))) {
next();
} else {
res.status(403).send('Zugriff verweigert');
}
}
module.exports = {
requireAuth,
requireRole,
requireAdmin,
requireVerwaltung
};