首先,我想提一下,我对编码还很陌生,所以请原谅我可能很愚蠢的问题。
所以我正在使用 FeatherJS 开发一个应用程序,在我的应用程序中我想使用权限来确保某些用户在他们可以执行的操作中受到限制,即只允许管理员创建或更新用户。
为此,我使用 NPM 安装了 feathers-permission 并且我已经阅读了文档,但是在尝试测试该功能是否真的有效时我被卡住了。这是我的设置:
const checkPermissions = require('feathers-permissions');
module.exports = {
before: {
all: [],
find: [ authenticate('jwt') ],
get: [ authenticate('jwt') ],
create: [ checkPermissions({
roles: [ 'admin' ]
}), authenticate('jwt') ],
update: [ authenticate('jwt') ],
patch: [ authenticate('jwt') ],
remove: [ authenticate('jwt') ]
},
所以现在当我尝试通过向我的应用程序的用户端点(http://localhost:3030/users)发送 POST 请求来创建用户时。您可以在下面找到我发出的 POST 请求的正文
{
"email": "someone@email.com",
"password": "somerandompassword",
"permission": ["user:*"]
}
我总是收到以下消息:
{
"name": "Forbidden",
"message": "You do not have the correct permissions (invalid permission entity).",
"code": 403,
"className": "forbidden",
"errors": {}
}
在我发送 POST 请求之前,我对自己进行身份验证并检索一个承载令牌,我将其包含在我的 POST 消息中以识别我自己。当然,我还确保我拥有创建用户所需的访问权限。
你们中的任何人都可以帮我解决这个问题吗?我在后端的配置中做错了什么,即我忘记在用户服务中添加一些代码吗?或者我应该在我的 POST 请求中传递一些额外的参数?
任何帮助将不胜感激!