环回DENY在Acl中不起作用

Riy*_*h.D 3 acl loopback strongloop

我是环回的新手.我为所有用户创建了ACL拒绝权限($ everyone).但我可以通过swagger访问所有API.任何人都可以解释这个吗?以下是我的ACL.谢谢.

"acls": [
    {
      "accessType": "*",
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY"
    }
]
Run Code Online (Sandbox Code Playgroud)

Iva*_*arz 6

可能的原因:

启用访问控制,您必须致电enableAuth().例如,在启动脚本中server/boot/authentication.js:

module.exports = function enableAuthentication(server) {
  server.enableAuth();
};
Run Code Online (Sandbox Code Playgroud)

另外,请检查您的server/model-config.json文件,看看你ACL,RoleMappingRole模型正确链接到您的数据源.

您的ACL是正确的,因此问题出在其他地方.如果我的答案对您没有帮助,您可能想要克隆loopback-example-access-control存储库,尝试它是否适合您并最终尝试弄清楚它与您的解决方案有何不同.

您还可以尝试通过为控制台指定一个具有值的环境变量来调试它,以记录查找并检查服务器在请求进入时所做的操作.DEBUGloopback:security:*