express在检查用户是否登录真的需要这么麻烦吗?
是不是必须用“同一路径绑定多个响应函数的方法,通过调用 next() 转移控制权"的方式?感觉好繁琐。 router.get("/logout", checkLogin); router.get("/logout",function(req,res) { req.session.user = null; req.flash(‘success’, ‘退出成功’); res.redirect(’/’); });
2 回复
可以写成:
router.get '/logout', checkLogin, (req, res) ->
如果接下来所有的路由都需要检查,也可以:
router.use checkLogin
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中加这样一段就行了,代码位置也有关系,自己测试