2016-03-06 70 views
0

我正在构建一个基于Sails.JS的Web应用程序。它有一个使用身份验证的用户模块。我想为用户添加一个权限字段,这是安全管理的(即用户无法自行更改权利),只能通过在应用中获得某些行权或通过Stripe API进行付款等方式更改它们。在Sails App中管理用户权利

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

我真的很感激你的想法。

回答

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); 
    }); 
} 

然后,只需从你的应用程序

+0

致电/updatProfile终点,然后我将如何“安全”时的条件已经在应用程序中的逻辑得到满足更新的权利? –