我是loopback的新手,我试图通过拒绝访问自定义用户模型的所有方法(用于测试)来自定义User内置模型,结果是我可以访问某些用户方法(比如创建用户)。
{
"name": "user",
"base": "User",
"idInjection": true,
"properties": {},
"validations": [],
"relations": {},
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}
],
"methods": []
}
我错过了什么?
答案 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先生的解决方案似乎对我好一些。