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

时间:2016-07-20 20:43:28

标签: node.js express stormpath express-stormpath

使用stormpath.groupsRequired中间件调用,

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

我无法对'org1-admin'角色进行硬编码,我有哪些选择?如果我将其放入会话中,则会话不适用于中间件。有什么想法吗?

根据初始启动请求网址中传递的org1参数和从配置条目读取的“admin”角色,将在启动应用时识别用户角色“org1-admin”。

首次启动后,此角色应可用于后续路由授权。感谢您的反馈!

1 个答案:

答案 0 :(得分:2)

如果要检查的组是基于每个请求确定的,那么您需要修改流程以使用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', {});
  });
});

我希望这有帮助!这是一个很好的用例,我想在这个库中添加一些东西,这样可以更容易地做到这一点。