是按照“使用 Express + MongoDB 搭建多人博客 ”来写的,为了增加admin管理员功能,我设想的是比对req.session.user是否=‘管理员账号’。用checkManager函数实现
router.get('/post', checkManager);
router.get('/post', function (req, res) {
res.render('post', {
user: req.session.user,
success: req.flash('success').toString(),
error: req.flash('error').toString()
});
});
router.post('/post', checkManager);
router.post('/post', function (req, res) {
var currentUser = req.session.user,
post = new Post(currentUser.name, req.body.title, req.body.post);
post.save(function (err) {
if (err) {
req.flash('error', err);
return res.redirect('/');
}
req.flash('success', '发布成功!');
res.redirect('/');//发表成功跳转到主页
});
});
//admin
function checkManager(req, res, next) {
if (req.session.user !== 'jj') {
//jj是管理员账号
//req.flash('error', '没有权限!');
return res.redirect('/test');
}
next();
}
但是跳转到http://localhost:3000/test的时候,提示“error not found”
请问是哪里出了错呢?
我在想是不是因为req.session.user返回的值是[object object]的形式?