REST API权限/angular色pipe理

我实际上build立一个基于RESTFul API node.js,我面临一个问题。

域代码是写的,我现在试图pipe理这个应用程序的访问权限,我不知道如何处理。

实际上,我需要允许/限制用户的资源访问权限。 其实,我想过把这些权限存储在用户的数组中,像这样:

{ userName:"foo", userMail:"foo@bar.com", userApiRightsAllowed:[ { uri:"/site/1594656", verb:"post", }, { uri:"/sites", verb:"get", } ] } 

在自定义中间件中,我检查用户权限是否包含req.url和req.verb。

如果没关系,他可以访问资源。 在另一个案例中,他得到了一个“禁止”403。

问题

问题是当我需要/网站。 我授权用户访问/网站,但他没有访问权限来查看站点详细信息,如/ sites / 65982。

但在我的网站列表中,他会看到所有网站和/网站/ 65982。

什么是以最小的粒度pipe理API访问权限的最佳方式:资源和方法?

我怎么能使我的代码工作,而且用户只能看到他能够看到的网站?

编辑:我正在使用MongoDb数据库

提前致谢

假设你正在使用express (基于标签), sails.js是扩展你的应用程序的function超出了expression给你的基本RESTfunction的一个很好的select。 Sails有一些有用的插件来帮助pipe理angular色,用户和权限:

  • 帆的权限
  • 帆-AUTH