【问题标题】:Loopback ACL: Create a User with a RoleLoopback ACL:创建具有角色的用户
【发布时间】:2016-03-09 16:28:37
【问题描述】:

我努力破译有关创建具有 acl 角色的用户的文档。我想创建 2 个角色“管理员”和“用户”,类似于文档所述。但是,我找不到 Role.create 的 API 文档。给定的例子对我来说也没有任何意义。然后我想只通过 REST API 创建一个用户,然后为用户分配管理员或用户角色。这看起来很简单,但我正在摸不着头脑。有人可以提供一些关于如何开始的指导吗?

【问题讨论】:

    标签: javascript loopbackjs


    【解决方案1】:

    我知道文档的这个领域需要一些工作,我正在努力尽快改进它。我们还将清理和改进 API 文档。

    角色模型从基本 DataModel 对象继承所有 CRUD 方法:http://apidocs.strongloop.com/loopback/#datamodel-new-datamodel。因此,例如 Role.create() 与 DataModel.create() 相同

    REST API 也是如此。角色 REST API 记录在此处:https://docs.strongloop.com/display/public/LB/Role+REST+API。您会注意到此文档中的每个端点都链接到提供更多详细信息的“模型 REST API”文章。

    -兰德

    技术作家,StrongLoop

    【讨论】:

    • 我是否必须配置应用程序才能创建“角色”端点?不要从盒子里看到它。如果我创建一个新角色,我可以使用 acl 命令行工具并按名称指定新角色吗?我很难理解这里的概念。我对 Node 比较陌生(这就是为什么我可能更倾向于 acl cmd 行或 rest api)。所有示例应用程序和文档都使用动态角色(所有者、所有人等)。无论所有者如何,我都必须拥有一个可以访问数据的管理员角色。喜欢 acl 工具来消除很多复杂性,但它似乎并不能满足我的需求。
    • 我发布了我正在寻找的答案。我在文档中没有看到任何地方明确指出某些模型不公开,但现在我看到了,我明白为什么它默认不公开。有道理......只是没有一些挖掘就不明显了。
    • 如果有一个使用 Role REST api 时角色 json 主体应该是什么的例子也很好。或指向必须使用的角色模型架构的链接。
    【解决方案2】:

    啊,找到了。在 models.json 中,您必须公开角色模型才能将其公开为 Rest 端点。一旦定义并配置了 acl,您可能应该将其设置回 false。

    ...
    "role": {
        "dataSource": "db",
        "public": true,
        "options": {
          "base": "Role",
          "relations": {
            "principals": {
              "type": "hasMany",
              "model": "roleMapping",
              "foreignKey": "roleId"
            }
          }
        }
      },
    ...
    

    【讨论】:

    • 这个models.json在哪里?
    • 在 npm_modules/loopback/common/models 中
    【解决方案3】:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 2017-02-06
      • 1970-01-01
      • 2019-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多