Express+Nodejs 下的登錄攔截實現(xiàn)代碼
原來一直不知道怎么在Express+Nodejs里面添加類似于Struts2的攔截器(因為要使用登錄攔截的功能)。
以前一直以為在router這塊添加類似一下的轉(zhuǎ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)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- nodejs中Express與Koa2對比分析
- 使用nodejs+express實現(xiàn)簡單的文件上傳功能
- nodejs使用express獲取get和post傳值及session驗證的方法
- Nodejs+express+ejs簡單使用實例代碼
- 詳解nodejs中express搭建權限管理系統(tǒng)
- nodejs對express中next函數(shù)的一些理解
- nodejs 圖解express+supervisor+ejs的用法(推薦)
- 基于nodejs+express4.X實現(xiàn)文件下載的實例代碼
- 詳解nodejs的express如何自動生成項目框架
- nodeJS(express4.x)+vue(vue-cli)構建前后端分離實例(帶跨域)
- nodejs+express搭建多人聊天室步驟
相關文章
Node.js文件系統(tǒng)fs擴展fs-extra說明
這篇文章主要介紹了Node.js文件系統(tǒng)fs擴展fs-extra說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08nodejs+websocket實時聊天系統(tǒng)改進版
這篇文章主要介紹了nodejs+websocket實時聊天系統(tǒng)的改進版,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Node.js實現(xiàn)http請求服務與Mysql數(shù)據(jù)庫操作方法詳解
這篇文章主要介紹了Node.js實現(xiàn)http請求服務與Mysql數(shù)據(jù)庫操作方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧2022-10-10NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換
Node Version Manager(NVM)是一個用于管理多個Node.js版本的工具,它允許用戶在同一臺機器上安裝和使用多個Node.js版本,本文將給大家介紹NVM管理Node.js實現(xiàn)不同版本Angular環(huán)境切換的流程步驟,需要的朋友可以參考下2024-05-05