我想使用LoopBack获取有关我的用户的一些信息。为此,我创建了一个与"accessToken"模型相关联的"user"模型,到目前为止,在"/user"上进行POST,在"/user/login"上进行POST以及在"/user/logout"上进行POST都是可行的。
我在"/common/models/user.json"中添加了:
{
"name": "user",
"base": "User",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {},
"validations": [],
"relations": {
"accessTokens": {
"type": "hasMany",
"model": "accessToken",
"foreignKey": "userId"
}
},
"acls": [
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$authenticated",
"permission": "ALLOW",
"property": "logout"
},
{
"accessType": "EXECUTE",
"principalType": "ROLE",
"principalId": "$owner",
"permission": "ALLOW",
"property": "findById"
}
],
"methods": {}
}
当我在/user/{id}
上执行GET操作时,我得到了:
{
"error": {
"statusCode": 401,
"name": "Error",
"message": "Autorisation requise",
"code": "AUTHORIZATION_REQUIRED",
"stack": "Error: Autorisation requise\n at..."
}
}
我想我对acl/relation的理解不是很透彻。
model-config.json
文件,确保内置的User
模型不是公开的吗?有可能你正在路由到它而不是你自定义的用户模型。此外,findById
映射到READ accessType
。 - Ivan Schwarz/user/{id}
请求中提供访问令牌。 - Serg