且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

node.js - nodejs 上用户访问页面权限问题

更新时间:2023-12-02 08:15:16

我也在摸索着在这方面实践。

凭借我的经验,试答如下:

  1. 设计上应该尽可能把同一类api设置在一个base_path下,这样可以在那个base_path上挂载一个中间件鉴权。

  2. 基于rbac的思想,我试过在你的想法的中间件那里,获取path,取得user.role。然后通过一个既定的map查询。accessible = PermitRoleMap[req.user.role][req.url.path]

  3. 在上述条件下,PermitRoleMap是一个二维的bool型数组。也可以升级为允许储存function。

  4. 最后,通常少许的一些个path上,还要有专门的权限处理中间件,或者处理步骤。

另外我正在看
https://github.com/bryandragon/mongoose-rbac
https://github.com/OptimalBits/node_acl