搭建个人博客 ( YIDBlog )
前几章我们已把微博的基本都实现了,最后我们再来做一个验证是否登录功能。
1.在index.js如下代码:
//检测是否登录
function checkLogin(req,res,next){
if(!req.session.user){
req.flash('error','未登录,请您先登录');
return res.redirect('/detail'+id);
}
next();
}
function checkNoLogin(req,res,next){
if(req.session.user){
req.flash('error','已登录,无需再登录');
return res.redirect('back');
}
next();
}
接着在你需要的地方添加checkLogin或者checkNoLogin方法,如下:
//编辑文件
app.get('/edit/:author/:title',checkLogin, function (req, res) {
var id = req.query.id;
Post.findById(id, function (err, data) {
//console.log(data);
if (err) {
req.flash('error', err);
return res.redirect('back');
}
res.render('edit', {
title: '编辑',
post: data,
user: req.session.user,
success: req.flash('success').toString(),
error: req.flash('error').toString()
});
});
});
这样就能保证你未登录的时候,不能进行跳转编辑界面去。
我们的个人微博已经基本完成了,还有评论,分页,搜索等等大家可以*扩展。