我是node.js中的loopback框架的新手。
在我的项目中,我可以创建模型,扩展内置模型并在其上应用acls。一切都很好。
但是,我无法在数据库表'ACL'中看到我为我的模型申请的ACL列表。
通过<model>.json
为模型应用的ACL列表工作正常。但我需要通过我的数据库申请。
要实现:从UI(客户端)开始,我将允许超级管理员 自定义特定角色的属性 。我计划在ACL表中更新这些属性Role。出于这个原因,我需要从DB而不是<model>.json
文件中查看模型的ACL列表。
ACL Table columns:
- id
- model
- principalId
- property
- accessType
- permission
- principalType
(或)
此外,我从here寻找解决方案,但没有运气。 请帮我实现这个目标...(使用数据库ACL表同步ACL模型列表) 如果我在任何地方都错了,请纠正我。
三江源。
答案 0 :(得分:1)
您发布了指向another post链接的链接,其中说明了如何在运行时修改模型ACL。
创建ACL是不够的,您必须使用
将它们附加到模型本身
MyModel.settings.acls.push(...)
它甚至提供了一个远程方法,向您展示如何将ACL添加到模型
MyModel.aclsPost = function (acl, context, cb) {
MyModel.settings.acls.push(acl);
cb(null, {});
}
MyModel.remoteMethod(
'aclsPost',
{
accepts: [
{arg: 'acl', type: 'Object', http: {source: 'body'}},
{arg: 'context', type: 'object', http: {source: 'context'}}
],
http: {path: '/acls', verb: 'post', status: 201, errorStatus: 404}
}
);