如何限制Admin Page node.js

时间:2015-04-05 23:10:32

标签: javascript node.js

嘿伙计们试图让我的管理页面禁止所有用户,除了我命名为john的用户。我在app.js文件中的内容是

app.get('/admin',requireLogin, function(req, res){

  res.render('admin', {
    title: 'Admin'});
  });

  function requireLogin (req, res, next) {
    if (req.user.username ==='john') {
      next();
    } else {    
      res.redirect('/login');
    }
  };

问题是它不起作用,我仍然可以访问该页面,无论我登录的是谁

1 个答案:

答案 0 :(得分:0)

显然,你只是与用户名匹配,这就是用户" john"完全可以登录。您最好尝试在用户架构中添加access_level字段,以使其更灵活。

app.get('/admin',requireLogin, function(req, res){

  res.render('admin', {
    title: 'Admin'});
  });
});

function requireLogin (req, res, next) {
    if (req.user.accesslevel ==='admin') {
      next();
    } else {    
      res.redirect('/login');
    }
};