环回中的拒绝权限问题
Denying permissions issue in loopback
我已经基于内置的用户模型创建了一个模型 Webuser。
这是此模型在 "webuser.json" 中的 ACL 条目:
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}
]
令我惊讶的是,我可以毫无问题地通过 POST /api/webusers/login 登录。我希望所有访问都被拒绝。
我做错了什么?
好吧,我相信 default user acls 仍在工作,它们没有被覆盖。环回决定哪个 ACL 条目对请求有效的方式是选择最晚出现的最具体的条目。所以环回定义了这个条目:
{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW",
"property": "login"
}
由于它非常具体,要击败它,您必须在模型中添加它:
{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY",
"property": "login"
}
还有另一种通过代码删除默认用户 acls 的方法,但未记录在案。
我已经基于内置的用户模型创建了一个模型 Webuser。
这是此模型在 "webuser.json" 中的 ACL 条目:
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}
]
令我惊讶的是,我可以毫无问题地通过 POST /api/webusers/login 登录。我希望所有访问都被拒绝。
我做错了什么?
好吧,我相信 default user acls 仍在工作,它们没有被覆盖。环回决定哪个 ACL 条目对请求有效的方式是选择最晚出现的最具体的条目。所以环回定义了这个条目:
{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "ALLOW",
"property": "login"
}
由于它非常具体,要击败它,您必须在模型中添加它:
{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY",
"property": "login"
}
还有另一种通过代码删除默认用户 acls 的方法,但未记录在案。