2016-03-06 71 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終點,然後我將如何「安全」時的條件已經在應用程序中的邏輯得到滿足更新的權利? –