Express+Nodejs 下的登录拦截实现代码

原来一直不知道怎么在Express+Nodejs里面添加类似于Struts2的拦截器(因为要使用登录拦截的功能)。

以前一直以为在router这块添加类似一下的转移路由控制权代码的(每个都加很麻烦)

app.get('/show', controllers.checkLogin);//登录验证

app.get('/show', controllers.showList);//实际跳转

又或者是像某些项目里面给每个controller的方法里面加以下这种验证(太繁琐了)

if (!req.session.user) {

return res.redirect("/login");

}

最近翻到之前使用session的代码片段,突然有如茅塞顿开啊!!

//session

app.use(function (req, res, next) {

var err = req.flash('error');

var success = req.flash('success');

res.locals({

user:req.session.user,

navSide:req.session.navSide,

error:err.length ? err : null,

success:success.length ? success : null

});

next();

});

这尼玛不就是个拦截器吗~囧~

稍加改造

//登录拦截器

app.use(function (req, res, next) {

var url = req.originalUrl;

if (url != "/login" && !req.session.user) {

return res.redirect("/login");

}

next();

});

经过测试,成功了

以上是 Express+Nodejs 下的登录拦截实现代码 的全部内容, 来源链接: utcz.com/z/313820.html

回到顶部