LoopBack中的访问控制

时间:2015-03-19 11:49:26

标签: angularjs restful-authentication loopbackjs strongloop

我正在为我的客户构建基于StrongLoop API平台的事件管理Web应用程序,我需要将CRUD访问数据限制为当前登录用户(客户端)。

我已按照这些教程https://github.com/strongloop/loopback-faq-user-managementhttps://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应该为我实现的记录?

任何帮助都非常感激。

1 个答案:

答案 0 :(得分:0)

1)访问令牌自动保存到localStorage / sessionStorage和angular-sdk内部。因此,它会在API的每个请求上附加authorization标头。

2)是的,您应该应用过滤器,因为ACL只允许或拒绝访问远程方法。顺便说一下,查询用户事件的另一种方法是

User.events({id: currentUserId})