| 123456789101112131415161718192021222324252627282930 |
- import loggerFactory from '~/utils/logger';
- const logger = loggerFactory('growi:middleware:admin-required');
- module.exports = (crowi, fallback = null) => {
- return function(req, res, next) {
- if (req.user != null && (req.user instanceof Object) && '_id' in req.user) {
- if (req.user.admin) {
- return next();
- }
- logger.warn('This user is not admin.');
- if (fallback != null) {
- return fallback(req, res, next);
- }
- return res.redirect('/');
- }
- logger.warn('This user has not logged in.');
- if (fallback != null) {
- return fallback(req, res, next);
- }
- return res.redirect('/login');
- };
- };
|