对于具有高度复杂访问控制规则的 Web 应用程序,您是否总是使用 ACL?
在确定我的用户权限时,我有很多考虑因素,包括:
- 他们登录了吗?
- 他们是管理员还是普通用户?
- 他们是否在浏览图中的节点?
- 他们正在浏览什么类型的节点?
- 它们与节点的关系是什么(即到节点的路径)?
- 用户的默认设置是什么?
- 节点的默认设置是什么?
- 将用户连接到节点的图边的设置是什么?
- ETC
事实证明,开发 ACL 很困难。过了一会儿,我求助于对每个动作顶部的基本属性进行“if/then”检查,例如if(isAdmin) {...}
这似乎工作正常,我想知道是否应该将其作为永久解决方案保留。因此,问题是:访问控制的复杂性是否会超过 ACL?还是只是我需要更加努力一点?