阿里,那是一个有趣的场景。
有 两个问题 需要回答在这里。
第一个问题 -公开数据时,系统是要进行过滤还是要超越呢?例如,如果您公开类似 users / {id}之 类的操作-那么您需要检查授权-
并确保用户有权访问该操作。如果仅公开 / users之 类的操作,则只需过滤即可,因为您将公开当前用户有权查看的用户。这种区别将决定很多实现。
第二个问题 是-您可以从事多少体力劳动?
一方面,您可以使数据适应框架的需要-并尝试尽可能多地依赖内置功能(安全性表达式,ACL)。或者,另一方面,您可以使代码适应数据的结构-并手动进行操作。
这是我首先要关注的两个因素,因为根据这四个决定,实现看起来会完全不同。
最后,回答您的“可以ACL缩放”问题-
两个快速注释。一-您需要测试。是的,ACL可以扩展,但是可以扩展到10K或100K,这是一个未经测试即可具体回答的问题。
其次,当您进行测试时,请考虑实际情况。了解解决方案的局限性当然很重要。但是,除此之外,如果您认为您的系统将拥有1M个实体,那就太好了。但是,如果不这样做,那就不要将其作为目标。
希望能有所帮助。



