Files
SkyArtShop/backend/middleware/auth.js
Local Server 8bb6430a70 Website restoration: Node.js backend, restored design, GitHub sync disabled
- Replaced broken .NET backend with Node.js/Express
- Restored original website design with purple gradient hero
- Updated homepage and shop pages with Bootstrap 5 responsive design
- Disabled GitHub remote sync - all code now stored locally only
- Created backup scripts and documentation
- All changes saved on Ubuntu server at /var/www/SkyArtShop
2025-12-13 17:53:34 -06:00

29 lines
699 B
JavaScript

const requireAuth = (req, res, next) => {
if (req.session && req.session.adminId) {
return next();
}
res.redirect('/admin/login');
};
const requireRole = (allowedRoles) => {
return (req, res, next) => {
if (!req.session || !req.session.adminId) {
return res.redirect('/admin/login');
}
const userRole = req.session.role || 'user';
if (allowedRoles.includes(userRole)) {
return next();
}
res.status(403).send('Access denied');
};
};
const redirectIfAuth = (req, res, next) => {
if (req.session && req.session.adminId) {
return res.redirect('/admin/dashboard');
}
next();
};
module.exports = { requireAuth, requireRole, redirectIfAuth };