Nodejs+express實現登錄攔截

在有登錄的項目中,需要配置登錄攔截器,以防止別人在未登錄的狀態就可以去操作你的系統或通過在瀏覽器地址欄中輸入地址訪問後臺接口,在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");
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章