Express+Nodejs 下的登录拦截实现代码


Posted in NodeJs onJuly 01, 2017

原来一直不知道怎么在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 相关文章推荐
nodejs实现HTTPS发起POST请求
Apr 23 NodeJs
深入浅析NodeJs并发异步的回调处理
Dec 21 NodeJs
在windows上用nodejs搭建静态文件服务器的简单方法
Aug 11 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
详解nodejs 文本操作模块-fs模块(五)
Dec 23 NodeJs
NodeJS遍历文件生产文件列表功能示例
Jan 22 NodeJs
使用nodejs下载风景壁纸
Feb 05 NodeJs
搭建简单的nodejs http服务器详解
Mar 09 NodeJs
ajax +NodeJS 实现图片上传实例
Jun 06 NodeJs
nodejs利用ajax实现网页无刷新上传图片实例代码
Jun 06 NodeJs
nodejs异步编程基础之回调函数用法分析
Dec 26 NodeJs
NodeJS和浏览器中this关键字的不同之处
Mar 03 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 #NodeJs
详解nodejs实现本地上传图片并预览功能(express4.0+)
Jun 28 #NodeJs
NodeJS链接MySql数据库的操作方法
Jun 27 #NodeJs
NodeJS自定义模块写法(详解)
Jun 27 #NodeJs
docker中编译nodejs并使用nginx启动
Jun 23 #NodeJs
NodeJs中express框架的send()方法简介
Jun 20 #NodeJs
深入浅析Nodejs的Http模块
Jun 20 #NodeJs
You might like
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
PHP中的Session对象如何使用
2015/09/25 PHP
ThinkPHP框架使用redirect实现页面重定向的方法实例分析
2018/04/12 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
解决jquery的datepicker的本地化以及Today问题
2012/05/23 Javascript
非常漂亮的JS+CSS图片幻灯切换特效
2013/11/20 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
PHP实现的各种中文编码转换类分享
2015/01/23 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
JavaScript实现自动变换表格边框颜色
2015/05/08 Javascript
常见JS验证脚本汇总
2015/12/01 Javascript
jQuery树形控件zTree使用小结
2016/08/02 Javascript
微信小程序动态的加载数据实例代码
2017/04/14 Javascript
微信小程序 同步请求授权的详解
2017/08/04 Javascript
EL表达式截取字符串的函数说明
2017/09/22 Javascript
NodeJs 文件系统操作模块fs使用方法详解
2018/11/26 NodeJs
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
[00:23]魔方之谜解锁款式
2018/12/20 DOTA
[01:04:49]KG vs LGD 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
Python中pillow知识点学习
2018/04/30 Python
Python求解正态分布置信区间教程
2019/11/20 Python
python实现跨年表白神器--你值得拥有
2021/01/04 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
巴西最大的在线约会网站:ParPerfeito
2018/07/11 全球购物
倡议书格式模板
2014/05/13 职场文书
捐款活动总结
2014/08/27 职场文书
防震减灾主题班会
2015/08/14 职场文书
2016国培研修心得体会
2016/01/08 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
python 爬取吉首大学网站成绩单
2021/06/02 Python
解析Redis Cluster原理
2021/06/21 Redis