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