Express+Nodejs 下的登錄攔截實現(xiàn)代碼
原來一直不知道怎么在Express+Nodejs里面添加類似于Struts2的攔截器(因為要使用登錄攔截的功能)。
以前一直以為在router這塊添加類似一下的轉(zhuǎn)移路由控制權(quán)代碼的(每個都加很麻煩)
app.get('/show', controllers.checkLogin);//登錄驗證 app.get('/show', controllers.showList);//實際跳轉(zhuǎn)
又或者是像某些項目里面給每個controller的方法里面加以下這種驗證(太繁瑣了)
if (!req.session.user) { return res.redirect("/login"); }
最近翻到之前使用session的代碼片段,突然有如茅塞頓開?。。?/p>
//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(); });
經(jīng)過測試,成功了
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- nodejs中Express與Koa2對比分析
- 使用nodejs+express實現(xiàn)簡單的文件上傳功能
- nodejs使用express獲取get和post傳值及session驗證的方法
- Nodejs+express+ejs簡單使用實例代碼
- 詳解nodejs中express搭建權(quán)限管理系統(tǒng)
- nodejs對express中next函數(shù)的一些理解
- nodejs 圖解express+supervisor+ejs的用法(推薦)
- 基于nodejs+express4.X實現(xiàn)文件下載的實例代碼
- 詳解nodejs的express如何自動生成項目框架
- nodeJS(express4.x)+vue(vue-cli)構(gòu)建前后端分離實例(帶跨域)
- nodejs+express搭建多人聊天室步驟
相關(guān)文章
Node.js文件系統(tǒng)fs擴(kuò)展fs-extra說明
這篇文章主要介紹了Node.js文件系統(tǒng)fs擴(kuò)展fs-extra說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08nodejs+websocket實時聊天系統(tǒng)改進(jìn)版
這篇文章主要介紹了nodejs+websocket實時聊天系統(tǒng)的改進(jìn)版,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Node.js調(diào)試技術(shù)總結(jié)分享
Node.js是一個可以快速構(gòu)建網(wǎng)絡(luò)服務(wù)及應(yīng)用的平臺。該平臺的構(gòu)建是基于Chrome's JavaScript runtime,也就是說,實際上它是對Google V8引擎(應(yīng)用于Google Chrome瀏覽器)進(jìn)行了封裝。 今天介紹Node.js調(diào)式目前有幾種技術(shù),需要的朋友可以參考下。2017-03-03Node.js實現(xiàn)http請求服務(wù)與Mysql數(shù)據(jù)庫操作方法詳解
這篇文章主要介紹了Node.js實現(xiàn)http請求服務(wù)與Mysql數(shù)據(jù)庫操作方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-10-10NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換
Node Version Manager(NVM)是一個用于管理多個Node.js版本的工具,它允許用戶在同一臺機(jī)器上安裝和使用多個Node.js版本,本文將給大家介紹NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換的流程步驟,需要的朋友可以參考下2024-05-05