2016-04-13 8 views
0

ループバックモデルにはいくつかの方法があります。いくつかのメソッドはリモートメソッドであり、そのうちのいくつかはリモートメソッドではありません。 server.jsでは、リモートメソッドへの呼び出しのみを許可し、リモートでないリモートのアクセスを拒否したいとします。ループバックで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もチェックします。

+0

私は混乱しています。あなたはあなたのサーバー側のコードのコードがモデルを使ってできないようにしたいと言っていますか?私の知る限り、すべてのサーバーサイドコードはそのまま実行され、ACLはREST API経由でのみ動作します。 (afaik) –

+0

@ RaymondCamden:ありがとうraymond.Yes、これのようなもの。私はExtJsで書かれたアプリケーションを持っていてext-directを使っています。私は私のリクエストをLoopBack Modelsに接続する書き込みルートを必要としています。私たちは急行用のext-directを持っていますが、LoopBackモジュールを書きたいと思っています。そして、このルートはサーバ上のACLをチェックします。 –

答えて

1

モデルがループバックで定義されている場合は、カスタムエンドポイント(ルート)をyour-model.jsに追加できます。これにより、自動的にACLチェックが有効になりました。 https://docs.strongloop.com/display/APIC/Remote+methods

また、ループバックの継承ロジックをserver.jsでルートを壊す取り扱いYourModel.disableRemoteMethod() http://apidocs.strongloop.com/loopback/#model-disableremotemethod

を使用することにより、自動生成されたエンドポイントを閉鎖することができますが、あなたが本当にいることをしたい場合あなたはACLで特別なACLをチェックすることができます.checkpermission() http://apidocs.strongloop.com/loopback/#acl-checkpermission

関連する問題