loopbackjs - 环回 : How to define ACL rules in a mixin?

标签 loopbackjs strongloop

我想定义一组 ACL 规则,这些规则应该可以通过使用 mixins 轻松移植和扩展。

MyModel.json 中为某些模型 MyModel 定义这些是微不足道的:

"acls": [
    {
      "accessType": "*",
      "principalType": "ROLE",
      "principalId": "$everyone",
      "permission": "DENY"
    }]

这有效,并且正确地阻止了所有人的 API 调用。然而,当我在混合中做同样的事情(或者我认为)时,它不起作用:

module.exports = function (Model, options) {

  Model.getApp(function (err, app) {

    app.models.ACL.create({
      model: Model.modelName,
      accessType: '*',
      principalType: 'ROLE',
      principalId: '$everyone',
      permission: 'DENY'
    }, function (err, acl) {
      console.log('ACL entry created: %j', acl);
    });

  });

};

缺少什么?

最佳答案

在查看源代码以查看 Loopback 本身如何在配置时注册 ACL 之后,以下似乎是在混合中执行此操作的正确方法:

module.exports = function (Model, options) {

  Model.settings.acls.push({
    "accessType": "*",
    "principalType": "ROLE",
    "principalId": "$everyone",
    "permission": "DENY"
  });

};

关于loopbackjs - 环回 : How to define ACL rules in a mixin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32166115/

相关文章:

node.js - 隐藏 Node js 应用程序源代码

node.js - 环回 : logging queries executed by datasource

javascript - 无法在 MacOS Catalina 上安装 Strongloop for Loopback v.3

mysql - 我如何从strongloop中的MySql连接器获取用户详细信息并删除 "Authorization Required"

node.js - 当我尝试在环回 (strongloop) web 应用程序中安装依赖项时出现 Npm 错误

angularjs - LoopBack Angular SDK 的 upsert 在 PATCH 中包含 ID,导致错误

node.js - 从启动脚本环回注入(inject)新模型

deployment - Strongloop slc 部署环境变量并发症

node.js - 环回: How to copy files from one container to another?

strongloop - 如何将 Relay/GraphQL 与 Loopback 一起使用?