我是环回的新手。我为所有用户创建了ACL拒绝权限($ everyone)。但我可以通过swagger访问所有API。任何人都可以解释这个吗?以下是我的ACL。谢谢。
"acls": [
{
"accessType": "*",
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}
]
可能的原因:
要enable access control,你必须打电话给enableAuth()
。例如,在启动脚本server/boot/authentication.js
中:
module.exports = function enableAuthentication(server) {
server.enableAuth();
};
还要检查你的qazxsw poi文件,看看你的qazxsw poi,qazxsw poi和server/model-config.json
模型是否正确链接到你的数据源。
您的ACL是正确的,因此问题出在其他地方。如果我的回答对您没有帮助,您可能想要克隆ACL
,尝试它是否适合您并最终尝试弄清楚它与您的解决方案有何不同。
你也可以通过为控制台指定一个值为RoleMapping
的qazxsw poi环境变量来尝试qazxsw poi它来记录查找并检查服务器进行请求。
尝试将DEBUG
字段值从loopback:security:*
更改为accessType
。
它还取决于您的基本模型,因为它可能会被基本模型的ACL覆盖。
例如,如果你的模型是{
"principalType": "ROLE",
"principalId": "$everyone",
"permission": "DENY"
}
基本模型,即使你把LoopBack-sandbox放到accessType
,EXECUTE
方法仍然可以工作,除非你指定*
。
User
参考(用户基本ACL列表):"create"