在Sails App中管理用户权利

时间:2016-03-06 23:44:51

标签: javascript authentication authorization sails.js

我正在构建一个基于Sails.JS的Web应用程序。它有一个带身份验证的用户模型。我想向安全管理的用户添加权利字段(即用户无法自行更改权利),只能通过在应用中实现某些标记或通过Stripe API等进行更改来更改权限。

我认为在用户模型中添加一系列权利,然后在应用程序中满足neccessair条件时添加这些权利。这是构建此功能的好方法吗?我只是觉得阻止用户更改这些内容可能有点棘手,但允许他们更改电子邮件等?

我真的很感激你的想法。

1 个答案:

答案 0 :(得分:0)

一种方法是创建一个服务,允许用户更新您希望他们更新的字段(类似于仅接受电子邮件/名称的ProfileController),而不是直接公开User模型蓝图。这将确保您可以控制用户可以通过REST API更新的字段。

在控制器中:

updateProfile: function(req, res) {

  var options = {
    name: req.param('name'),
    email: req.param('email')
  };

  // delegate off to a service to do the actual user updating
  UserService.updateProfile(req.token.id, options, function(err, data) {
    if (err) {
      return res.send(err.status, err.message);
    }

    return res.json(data);
  });
}

然后只需从您的应用程序中调用/updatProfile结束点