在loopback中调用server.js中的远程模型方法?

时间:2016-04-13 16:47:05

标签: node.js express sails.js loopbackjs

我有一些方法的环回模型。有些方法是远程方法,有些方法不是远程方法。 在server.js中,我想只允许远程方法调用,并且拒绝访问非远程方法。

我在server.js中有以下代码。我可以用这种方式调用远程方法,但也可以调用系统方法。

// POST request process route and calls remote method
app.post(remoteMethodName, function(req, res) {

   app.models.Model.remoteMethodName({}, function(err, items){
       callback(err, items);
   });

});

我也想要检查方法的ACL。

1 个答案:

答案 0 :(得分:1)

如果您在Loopback中定义了模型,则可以将自定义端点(路由)添加到your-model.js。这会自动启用ACL检查。 https://docs.strongloop.com/display/APIC/Remote+methods

您还可以使用YourModel.disableRemoteMethod()关闭自动生成的端点 http://apidocs.strongloop.com/loopback/#model-disableremotemethod

处理server.js中的路由会破坏Loopback的继承逻辑,但是如果你真的想要这样,你可以使用ACL.checkpermission()检查ACL ad hoc http://apidocs.strongloop.com/loopback/#acl-checkpermission