FuZ*_*all 2 node.js strongloop loopbackjs
我对ACL如何在环回上工作有点怀疑.
我正在关注示例https://github.com/strongloop/loopback-example-access-control
REST Api允许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();
});
Run Code Online (Sandbox Code Playgroud)
然后从api中隐藏ownerId属性.
编辑:
如果您想自动设置ownerId,请参阅此链接以获取更多详细信息.
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |