node+express+mongoDB搭建个人博客 (六)

时间:2022-04-18 02:33:59

搭建个人博客 ( 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()
            });
        });
    });

这样就能保证你未登录的时候,不能进行跳转编辑界面去。
我们的个人微博已经基本完成了,还有评论,分页,搜索等等大家可以*扩展。