我正在构建一个基于Sails.JS的Web应用程序。它有一个带身份验证的用户模型。我想向安全管理的用户添加权利字段(即用户无法自行更改权利),只能通过在应用中实现某些标记或通过Stripe API等进行更改来更改权限。
我认为在用户模型中添加一系列权利,然后在应用程序中满足neccessair条件时添加这些权利。这是构建此功能的好方法吗?我只是觉得阻止用户更改这些内容可能有点棘手,但允许他们更改电子邮件等?
我真的很感激你的想法。
答案 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
结束点