Express+Nodejs 下的登录拦截实现代码
2017-07-01 16:20
966 查看
原来一直不知道怎么在Express+Nodejs里面添加类似于Struts2的拦截器(因为要使用登录拦截的功能)。
以前一直以为在router这块添加类似一下的转移路由控制权代码的(每个都加很麻烦)
app.get('/show', controllers.checkLogin);//登录验证 app.get('/show', controllers.showList);//实际跳转
又或者是像某些项目里面给每个controller的方法里面加以下这种验证(太繁琐了)
if (!req.session.user) { return res.redirect("/login"); }
最近翻到之前使用session的代码片段,突然有如茅塞顿开啊!!
//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(); });
经过测试,成功了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- nodejs中Express与Koa2对比分析
- 使用nodejs+express实现简单的文件上传功能
- nodejs使用express获取get和post传值及session验证的方法
- Nodejs+express+ejs简单使用实例代码
- 详解nodejs中express搭建权限管理系统
- nodejs对express中next函数的一些理解
- nodejs 图解express+supervisor+ejs的用法(推荐)
- 基于nodejs+express4.X实现文件下载的实例代码
- 详解nodejs的express如何自动生成项目框架
- nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
- nodejs+express搭建多人聊天室步骤
相关文章推荐
- Express + Node.js实现登录拦截器的实例代码
- Express+Nodejs 下的登录拦截实现
- 基于Node.js+express+MySQL+Bootstrap实现的简单登录注册
- 用node和express连接mysql实现登录注册的实现代码
- Node.js+Express+MongoDB实现简单登录注册功能
- nodejs+express+mongodb简单实现注册登录写发博客
- node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
- nodejs+express+mongodb简单实现注册登录
- nodejs express 做登录拦截
- 例子:实现最新版本Node.js中Express+mongodb的登录注册页面
- Node.js+Express+MySql实现用户登录注册功能
- Node.js+Express+MySql实现用户登录注册
- Nodejs express、html5实现拖拽上传
- node.js实现逐行读取文件内容的代码
- node.js实现逐行读取文件内容的代码
- JS记录用户登录次数实现代码
- node.js+express验证码的实现
- nodeJs+express+ejs+mongoose实现翻页原理1
- Nodejs学习笔记(八)--- Node.js + Express 实现上传文件功能(felixge/node-formidable)
- node.js+express+jade系列五:ajax登录