StormPath 使用 express-stormpath 对授权进行分组

StormPath groups authorization using express-stormpath

使用stormpath.groupsRequired中间件调用,

router.get('/', stormpath.loginRequired, stormpath.groupsRequired(['org1-admin']), 函数 (req, res) { res.render('index', {}); });

我不能硬编码“org1-admin”角色,我有什么选择?如果我将其放入会话中,则该会话不可用于中间件。有什么想法吗?

用户角色“org1-admin”将在应用程序启动时根据初始启动请求中传递的 org1 参数进行识别 url 以及从配置条目中读取的“admin”角色。

初次启动后,此角色应该可供后续路由授权。感谢您的反馈!

如果要检查的组是根据每个请求确定的,您需要修改流程以更像函数一样使用 groupsRequired 中间件:

app.get('/', stormpath.loginRequired, function (req, res) {
  var group = 'foo'; // grab the group from your request context

  stormpath.groupsRequired([group])(req,res,function(){
    // If we got here, the user is in the group.  Otherwise the groupsRequired middleware would have ended the response with 403
    res.render('index', {});
  });
});

希望对您有所帮助!这是一个很好的用例,我想向这个库中添加一些东西,使它更容易做到这一点。