CNode

express在检查用户是否登录真的需要这么麻烦吗?

问答
Zzhongzhu发布于12 年前最后回复12 年前2 回复4879 浏览0 收藏

是不是必须用“同一路径绑定多个响应函数的方法,通过调用 next() 转移控制权"的方式?感觉好繁琐。 router.get("/logout", checkLogin); router.get("/logout",function(req,res) { req.session.user = null; req.flash('success', '退出成功'); res.redirect('/'); });

查看回复

回复 (2)

J
jysperm#1·12 年前

可以写成:

router.get '/logout', checkLogin, (req, res) ->

如果接下来所有的路由都需要检查,也可以:

router.use checkLogin
Y
yuedun#2·12 年前
app.use(function(req,res,next){
    if (!req.session.user) {  
        if(req.url == "/admin/doLogin"){  
        next();  
    }  
    res.render('admin/login');  
}else if (req.session.user) {  
    next();  
}  

});
在app.js中加这样一段就行了,代码位置也有关系,自己测试

参与回复
登录后即可参与回复。登录