loopbackjs如何自定义内置用户模型?

时间:2015-06-22 12:06:54

标签: node.js loopbackjs strongloop

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

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

我错过了什么?

3 个答案:

答案 0 :(得分:0)

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

请检查此答案。希望能帮到你

  

Constantly getting 401 errors in loopback while using User Model

答案 1 :(得分:0)

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

答案 2 :(得分:0)

当前版本的Loopback Datasource juggler中存在一个有点已知的错误。

您可以转到nodeModules> loopback>常见>模型>用户和那里在创建时更改ACL。这应该阻止现在的方法。

更长期 - 1)Loopback文档说你从User扩展的模型应该有一个不同的名称,如person或AppUser就是我的情况。这确实使ACL更容易考虑仍然存在的bug。 有一个已经批准的修复程序,应该与下一个版本的Juggler一起使用。但这可能需要时间。

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

另外 - 刚看到上面的评论,Chacha先生的解决方案似乎对我好一些。