Node.js 环回acl和所有者ID

Node.js 环回acl和所有者ID,node.js,loopbackjs,strongloop,Node.js,Loopbackjs,Strongloop,我有点怀疑ACL如何在环回上工作 我在跟踪样本 RESTAPI允许create调用将ownerid作为参数传递,但不进行任何验证 例如,经过身份验证的用户可以创建一个项目,并将ownerid设置为任何值。我认为属性应该只允许由管理员角色设置 我知道我可以输入一些代码来进行验证。。但我相信这个值必须根据当前登录的用户自动设置。我错了或者我错过了什么 谢谢大家! 我花了这么多时间才发现这一点。虽然它似乎属于并且在内置的persistedModel和UserModel之间有很多关系,必须自动设置own

我有点怀疑ACL如何在环回上工作

我在跟踪样本

RESTAPI允许create调用将ownerid作为参数传递,但不进行任何验证

例如,经过身份验证的用户可以创建一个项目,并将ownerid设置为任何值。我认为属性应该只允许由管理员角色设置

我知道我可以输入一些代码来进行验证。。但我相信这个值必须根据当前登录的用户自动设置。我错了或者我错过了什么


谢谢大家!

我花了这么多时间才发现这一点。虽然它似乎属于并且在内置的persistedModel和UserModel之间有很多关系,必须自动设置ownerId,但这可能是一个设计问题

因此,为了实现您的目标,您必须在访问令牌参数发出的每个远程请求之前设置ownerId,如下所示:

Model.beforeRemote('create', function(context, model, next) {
    var req = context.req;
    req.body.ownerId = req.accessToken.userId;
    next();
});
然后从api中隐藏ownerId属性

编辑:



如果要自动设置ownerId,请参阅以了解更多详细信息。

是否使用自述文件中的ACL定义?如果是,则只允许在/api/projects/generate和/api/projects/draw上发布。如果您发布project.json,我们可以验证ACL定义