我使用Loopback Framework创建多个服务,并使用api网关(tyk)来管理它们。
不幸的是,我没有看到如何为每个人设置访问控制。
我不希望用户访问不属于他的数据。
非常感谢,
答案 0 :(得分:1)
您可以轻松使用两种方法来保护您的模型。
1.来自model.json文件
在模型model.json中,你可以包含ACL对象。
"acls": [{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW"
}, {
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}]
2.在model.js文件中使用操作挂钩 您可以使用操作挂钩来操纵安全性。
示例
Template.observe('access', function (ctx, next) {
if(ctx.options.team){
var teamId = ctx.options.team.teamId;
ctx.query.where= ctx.query.where || {or :[ {user_created : 0},{teamId : teamId}]} ;
next();
}
});
希望这会有所帮助。