在有登录的项目中,需要配置登录拦截器,以防止别人在未登录的状态就可以去操作你的系统或通过在浏览器地址栏中输入地址访问后台接口,在node.js中中间件Express中就有拦截器,通过配置可以实现登录拦截。
npm i express-session
配置:
var session = require('express-session');
app.use(session({
secret: 'zph',
resave: true,
saveUninitialized: true,
cookie: {
maxAge: 1000 * 60 * 60 * 24 //有效期一天
}}))
注意:登录拦截器,必须放在静态资源声明之后、路由导航之前
/* 登录拦截 */
app.use((req,res,next)=>{
let url=req.originalUrl
if (url != "/login" && !req.session.user) {
return res.redirect("/login");
}
next();
})
路由比较少的时候也可以在每个路由内都进行如下判断:
if (!req.session.user) {
return res.redirect("/login");
}