如何為所有路由設定會話驗證?
if(req.session.lang) req.session.lang
else req.session.lang = "pt";
const tradutor = require('../scripts/lang/lang-' req.session.lang '');
var traduPT = new tradutor();
這是我的代碼。我想用于檢查所有路由,可能是添加代碼并僅在路由上應用請求,但是如何以及在何處執行此代碼在路由之外?
uj5u.com熱心網友回復:
您可以創建特定于路由的中間件。
// validate.js
export const validateSession = (req, res, next) => {
// if the user is logged in, continue
if (req.session.isLoggedIn) return next();
// otherwise, don't continue and go back to the /home route
res.redirect('/home');
};
然后在定義路由時將其作為第二個引數傳入:
// main.js
import { validateSession } from './validate.js';
app.get('/dashboard', validateSession, (req, res) => { /* ... */ });
app.get('/login', validateSession, (req, res) => { /* ... */ });
app.get('/foo', validateSession, (req, res) => { /* ... */ });
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/508457.html
標籤:javascript 节点.js 会议 路线
上一篇:捕獲url視圖
