在运行时创建远程方法?

时间:2015-11-13 23:58:26

标签: node.js express loopbackjs strongloop

  • 我们遇到了一种情况,我们想在运行时使用环回创建“远程方法”?这样任何客户端都可以在运行时创建自己的安全路由,而无需重新加载服务器。

  • 另外,如何在运行时添加的远程方法中添加ACL?

1 个答案:

答案 0 :(得分:1)

首先在运行时添加远程方法,但是在启动时。您可以在model.js目前的common/models文件夹中定义它们。您可以在docs中查看它们。尝试添加远程方法并在出现任何问题时显示您的代码。

其次,您可以通过两种方式为代码添加ACL:

  • 使用DataSource' createModel()函数:

    var Customer = ds.createModel('Customer', { name: { type: String, acls: [ { principalType: ACL.USER, principalId: 'u001', accessType: ACL.WRITE, permission: ACL.DENY }, { principalType: ACL.USER, principalId: 'u001', accessType: ACL.ALL, permission: ACL.ALLOW } ] } }, { acls: [ {principalType: ACL.USER, principalId: 'u001', accessType: ACL.ALL, permission: ACL.ALLOW} ] });

  • 在您的情况下,您可以在create()

    中使用ACL的model.js功能

    ACL.create({principalType: ACL.USER, principalId: 'u001', model: 'User', property: ACL.ALL, accessType: ACL.ALL, permission: ACL.ALLOW}, function(err, acl) {...});

    ACL.create({principalType: ACL.USER, principalId: 'u001', model: 'User', property: ACL.ALL, accessType: ACL.READ, permission: ACL.DENY}, function(err, acl) {...});

您可以在docs

中阅读有关在运行时添加ACL的信息