首页 文章

LoopBack中的访问控制

提问于
浏览
0

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

我已经按照这些教程https://github.com/strongloop/loopback-faq-user-managementhttps://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 回答

  • 0

    1)访问令牌自动保存到localStorage / sessionStorage和angular-sdk内部 . 所以它在API的每个请求上都附加了 authorization 标头 .

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

    User.events({id: currentUserId})

相关问题