问题描述
我已经看到为节点 RBAC 推荐了 accesscontrol
,并且文档说它是 rbac 和 abac 的一种合并。
相反,我看到的是,所有内容仍然 100% 仅限于角色,唯一的“属性”类型权限基于资源的属性,而不是用户。
在完美的世界中,我会拥有 dateJoined
或 publishedCount
之类的用户属性,accesscontrol
会查看用户是否具有(通常是编辑)访问权限到某某资源。
我对 accesscontrol
不走运吗?如果是,是否有另一个软件包可以支持我正在尝试做的事情?如果没有,我想我将不得不考虑从头开始构建它。
解决方法
您是否调查过node-abac?旧但可能还可以。否则,您没有理由将自己限制在 Node.js 上。您可以使用 XACML 引擎(例如 AuthZForce)或 Open Policy Agent (Rego) 并将您的环境连接到该引擎。无论哪种方式,您都会获得完整的 ABAC。