【问题标题】:loopbackjs How to customize built-in user model?loopbackjs 如何自定义内置用户模型?
【发布时间】:2015-09-07 21:12:48
【问题描述】:

我是 loopback 的新手,我正在尝试通过拒绝访问自定义用户模型的所有方法(用于测试)来自定义用户内置模型,结果是我可以访问一些用户方法(如创建用户)。

{
  "name": "user",
  "base": "User",
  "idInjection": true,
  "properties": {},
  "validations": [],
  "relations": {},
  "acls": [
    {
      "accessType": "*",
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY"
    }
  ],
  "methods": []
}

我错过了什么?

【问题讨论】:

标签: node.js loopbackjs strongloop


【解决方案1】:

自定义内置模型实际上不是一个好主意。创建一个扩展用户模型的新模型。内置用户模型位于 node_modules/loopback 中。如果您进行任何更改并将其推送到 Git,您可能会丢失更改,因为它很可能在推送期间被忽略。

请检查此答案。希望对你有帮助

Constantly getting 401 errors in loopback while using User Model

【讨论】:

    【解决方案2】:

    您始终可以扩展内置模型的行为并创建自定义端点。你可以阅读他们的文档。 https://docs.strongloop.com/display/public/LB/Remote+methods

    【讨论】:

      【解决方案3】:

      在当前版本的 Loopback Datasource juggler 中存在一个已知的错误,它会导致此问题。

      您可以转到 nodeModules > loopback > common > models> User,然后在创建时更改 ACL。这应该暂时阻止该方法。

      长期 - 1) Loopback 文档说您从 User 扩展的模型应该具有不同的名称,例如 person 或 AppUser 是我的情况。这确实使 ACL 的事情更容易考虑仍然存在的错误。 有一个已被批准的修复程序,应该会在下一个版本的 Juggler 中出现。但这可能需要时间。

      同时,您可以设置一个 gulp 任务以从环回默认模型中删除所有 ACL。这将确保您在模型定义中设置的任何 ACL 优先。

      另外 - 刚刚看到上面的 cmets,Chacha 先生的解决方案对我来说似乎好多了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-05
        • 2013-06-11
        相关资源
        最近更新 更多