web_auth.js 889 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. const config = require('../config');
  2. exports.userRequired = (req, res, next) => {
  3. if (req.session.user) {
  4. if (req.session.user.isBlocked) {
  5. return res.render('message', {
  6. isError: true,
  7. message: '用户账户被禁用,请联系管理员',
  8. link: '/feedback',
  9. });
  10. }
  11. } else {
  12. return res.render('message', {
  13. isError: false,
  14. message: '用户尚未登录,请登录',
  15. link: '/login',
  16. });
  17. }
  18. next();
  19. };
  20. exports.adminRequired = (req, res, next) => {
  21. if (!req.session.user || !req.session.user.isAdmin) {
  22. return res.render('message', {
  23. isError: true,
  24. message: '需要超级管理员权限',
  25. });
  26. }
  27. next();
  28. };
  29. exports.allowRegister = (req, res, next) => {
  30. if (!config.allowRegister) {
  31. req.flash('message', '管理员未开放注册!');
  32. return res.redirect('/');
  33. }
  34. next();
  35. };