【发布时间】:2015-02-15 17:28:32
【问题描述】:
我的这个策略基本上是在允许用户对对象执行任何操作之前检查用户对对象的访问权限。那么,用户 1 是否有权访问事件 4 以进行 /event/edit/4 之类的事情。
我尝试创建一个策略(我已经编辑了顶部,所以如果其中有错误,相信我它会在应该运行的时候运行 return res.direct)但是当它达到正确的条件时,风帆过程死于“发送后无法设置标头”的错误。
我取出另一个被触发的策略来查看它是否在做任何事情,但它没有改变任何东西。这是我的政策:
module.exports = function(req, res, ok) {
MyObj.find(req.param('id'))
.exec(function getObjects(err, objects){
if (objects[0]["parent"]["user"] != req.session.User.id) {
req.session.flash = {
err: "woops!"
}
return res.redirect('/');
}
});
res.locals.flash = {};
if(!req.session.flash) return ok();
res.locals.flash = _.clone(req.session.flash);
req.session.flash = {};
return next();
};
我也尝试过 return res.forbidden('You are not allowed to perform this action.') 而不是 res.redirect。并不是说它会有所作为,但我必须考虑到我在那里做错了事情。
有人知道为什么它会给我这个错误吗?
【问题讨论】: