我正在为我的客户构建基于StrongLoop API平台的事件管理Web应用程序,我需要将CRUD访问数据限制为当前登录用户(客户端)。
我已按照这些教程https://github.com/strongloop/loopback-faq-user-management,https://github.com/strongloop/loopback-example-access-control成功登录和注销,现在需要实现在AngularJS客户端上恢复正确的数据。
我在我的'事件'模型上设置了如下关系:
"relations": {
"user": {
"type": "belongsTo",
"model": "User",
"foreignKey": "ownerId"
}
}
以及内置用户模型:
"relations": {
"events": {
"type": "hasMany",
"model": "event",
"foreignKey": "ownerId"
}
}
在登录进行API调用后,不确定在何处/如何定义访问令牌。我是否还需要在$scope.events = Event.find();
上应用过滤器来仅检索ownerID: <currentUserId>
或ACL应该为我实现的记录?
任何帮助都非常感激。
答案 0 :(得分:0)
1)访问令牌自动保存到localStorage / sessionStorage和angular-sdk内部。因此,它会在API的每个请求上附加authorization
标头。
2)是的,您应该应用过滤器,因为ACL只允许或拒绝访问远程方法。顺便说一下,查询用户事件的另一种方法是
User.events({id: currentUserId})