正确处理个人用户访问

时间:2015-11-04 22:03:50

标签: javascript angularjs rest

我正在使用Angular Fullstack。有人可以告诉我我的语法有什么问题吗?我不确定处理它的正确方法。

这就是我想要完成的事情。 (如果Auth.hasRole('admin')为真,我希望它显示所有订单。如果用户经过身份验证,我希望它只显示他们的订单。如果用户未经过身份验证,我希望它说“未经授权的”。

这是代码

exports.index = function(req, res) {
  if(Auth.hasRole('admin')) {
    Order.find(function (err, orders) {
      if(err) { return handleError(res, err); }
      return res.status(200).json(orders);
    });
  } else if (!Auth.isAuthenticated) {
    return res.status(401).send('Unauthorized');
  } else {
    Order.find().where({ name: 'someusername' }).exec(function (err, orders) {
      if(err) { return handleError(res, err); }
      return res.status(200).json(orders);
    });
  }
}

我没有收到任何错误,但是当我访问api / orders时,它只会挂起并超时。

1 个答案:

答案 0 :(得分:0)

你错过了第一个条件的回报。 如果您正在使用角色为“admin”的用户进行测试,则不会有响应。

if(Auth.hasRole('admin')) {
    Order.find(function (err, orders) {
      if(err) { return handleError(res, err); }
       return res.status(200).json(orders);
    });
  }