Loopback ACL数据库表'property'默认值及全局权限配置疑问
关于LoopBack数据库ACL表的两个核心问题解答
1. 如何通过数据库表配置拒绝模型所有远程方法访问
如果要在数据库的ACL表中实现「拒绝某模型所有远程方法访问」的效果,你可以这么配置:
- 将该模型对应的ACL记录的
property字段设置为 NULL(或者空字符串,不过更推荐用NULL,和JSON配置的逻辑完全对齐) - 同时确保这条ACL的权限规则是拒绝:
permission设为DENY,principalType设为ROLE,principalId设为你要限制的目标角色(比如$everyone就代表拒绝所有用户访问)
给你个实际的SQL示例参考:
INSERT INTO acl (model, property, permission, principalType, principalId) VALUES ('YourTargetModel', NULL, 'DENY', 'ROLE', '$everyone');
这样设置后,该模型的所有远程方法都会被拒绝访问,和你在模型JSON中不配置property字段的效果完全一致。
2. LoopBack ACL数据库表中property字段的默认值
在LoopBack的默认ACL表结构里,property字段是允许为NULL的,它的默认值就是NULL。这和模型JSON配置的逻辑一一对应:当你在JSON里不指定property字段时,LoopBack会自动将其映射为数据库中的NULL值,代表这条ACL规则会应用到该模型的所有远程方法上。
内容的提问来源于stack exchange,提问作者Lalith kumar
相关产品推荐
相关产品推荐

