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', {});
});
});
希望对您有所帮助!这是一个很好的用例,我想向这个库中添加一些东西,使它更容易做到这一点。
使用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', {});
});
});
希望对您有所帮助!这是一个很好的用例,我想向这个库中添加一些东西,使它更容易做到这一点。