Node.js 环回保护嵌套关系
我在保护嵌套关系时遇到问题。我有三种型号:Node.js 环回保护嵌套关系,node.js,acl,loopback,Node.js,Acl,Loopback,我在保护嵌套关系时遇到问题。我有三种型号: 使用者 有许多地址 通过联系人拥有许多用户 地址 属于用户 联系人(用户到用户链接表) 属于用户 有一个用户 用户可以获取其地址信息: /users/{user\u id}/address 用户也可以访问联系人: /users/{user\u id}/contacts 但是用户也可以访问联系人地址: /users/{user_id}/contacts?filter={“include”:“addresses”} 我想将地址关系限制为$own
- 有许多
地址
- 通过
联系人拥有许多
用户
- 属于
用户
- 属于
用户
- 有一个
用户
用户
可以获取其地址
信息:
/users/{user\u id}/address
用户
也可以访问联系人
:
/users/{user\u id}/contacts
但是用户也可以访问联系人
地址
:
/users/{user_id}/contacts?filter={“include”:“addresses”}
我想将地址
关系限制为$owner
临时解决方案:
目前,我正在手动检查所有者是否是访问关系的人:
Address.observe('access', function restrict(ctx, next) {
if(_.isObject(ctx.query.where) && ctx.query.where.user_id && ctx.query.where.user_id.inq){
var id = app.models.user.getCurrentUserId();
if(validate(ctx.query.where.user_id.inq[0] === id, 'Unauthorization Access', "UNAUTHORIZATION_ACCESS", 403, next)){return;}
}
next();
});
创建的环回中存在一个问题,用于修复该问题并跟踪所有相关讨论: