我们遇到了一种情况,我们想在运行时使用环回创建“远程方法”?这样任何客户端都可以在运行时创建自己的安全路由,而无需重新加载服务器。
另外,如何在运行时添加的远程方法中添加ACL?
答案 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()
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的信息