2015-11-13 65 views
0
  • 我們陷入了一種情況,我們想要在運行時使用回送來創建'遠程方法'?這樣任何客戶端都可以在運行時創建自己的安全路由,而無需重新加載服務器。在運行時創建遠程方法?

  • 另外我們如何將ACL添加到運行時添加的遠程方法?

回答

1

首先遠程方法是在運行時增加,但在啓動時。並且您可以在您的model.js目錄common/models文件夾中定義它們。你可以在docs這裏查看它們。如果有任何問題,請嘗試添加遠程方法並顯示您的代碼。

其次,你可以通過兩種方式添加ACL到您的代碼:

  • 使用數據源的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} ] });

  • 在你的情況,你可以使用ACL的create()功能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。