【问题标题】:ACL express.js allow role access to subpathsACL express.js 允许角色访问子路径
【发布时间】:2017-03-01 15:11:25
【问题描述】:

我正在为我的 express.js 应用程序使用以下 ACL 实现:https://www.npmjs.com/package/acl

有没有办法为指定路径的所有子路径授予对给定角色的访问权限?

    acl.allow([{
        roles: ['admin'],
        allows: [
            { resources: '/admin/*', permissions: '*' },
        ]
    }
]);

不适合我

【问题讨论】:

    标签: javascript regex node.js express acl


    【解决方案1】:

    它是这样工作的:

    acl.allow([{
      roles  : ['admin'],
      allows : [
        { resources: '/admin', permissions: '*' },
      ]
    }]);
    

    结合让中间件只查看 URL 的第一部分:

    app.use('/admin', acl.middleware(1), ... });
    

    这基本上实现了一个检查,允许角色 admin 访问任何以 /admin 为前缀的 URL

    【讨论】:

    • 我没有使用中间件,而是使用 isAllowed 函数,但现在知道资源中没有正则表达式,我将削减我的 req url,谢谢
    • 如果您使用的是app.use('/admin', ...),您也可以使用req.baseUrl,即/admin
    猜你喜欢
    • 2020-09-08
    • 2012-04-14
    • 1970-01-01
    • 2021-04-15
    • 1970-01-01
    • 2021-12-25
    • 2015-10-17
    • 2022-07-11
    • 2019-02-16
    相关资源
    最近更新 更多