在有登錄的項目中,需要配置登錄攔截器,以防止別人在未登錄的狀態就可以去操作你的系統或通過在瀏覽器地址欄中輸入地址訪問後臺接口,在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");
}