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

 更新时间:2017年07月01日 16:20:16   作者:duyinghua  
本篇文章主要介绍了Express+Nodejs 下的登录拦截实现代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

原来一直不知道怎么在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判断文件、文件夹是否存在及删除的方法

    这篇文章主要介绍了nodejs判断文件、文件夹是否存在及删除的方法,结合实例形式分析了nodejs基于文件模块针对文件与文件夹的存在判断、删除等操作技巧,需要的朋友可以参考下
    2017-11-11
  • 用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)

    用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)

    这篇文章主要介绍了用纯Node.JS弹出Windows系统消息提示框实例(MessageBox),非常具有实用价值,需要的朋友可以参考下
    2017-05-05
  • NodeJS如何实现同步的方法示例

    NodeJS如何实现同步的方法示例

    nodeJS最大的特点就是其异步操作,下面这篇文章主要给大家介绍了关于NodeJS如何实现同步的方法的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-08-08
  • node.js连接mongoose数据库方法详解

    node.js连接mongoose数据库方法详解

    之前我们都是通过shell来完成对数据库的各种操作的,在开发中大部分时候我们都需要通过程序来完成对数据库的操作。而Mongoose就是一个让我们可以通过Node来操作MongoDB的模块
    2022-08-08
  • 前端必会的nodejs知识工具模块使用示例详解

    前端必会的nodejs知识工具模块使用示例详解

    这篇文章主要为大家介绍了前端必会的nodejs知识工具模块使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Sublime Text3 配置 NodeJs 环境的方法

    Sublime Text3 配置 NodeJs 环境的方法

    大家都知道,Sublime Text 安装插件一般从 Package Control 中直接安装即可,当我安装 node js 插件时候,直接通过Package Control 安装,虽然插件安装成功了,但是找不到配置文件 Nodejs.sublime-build 来更改一些配置
    2020-05-05
  • 详解nodejs微信公众号开发——2.自动回复

    详解nodejs微信公众号开发——2.自动回复

    这篇文章主要介绍了详解nodejs微信公众号开发——2.自动回复,非常具有实用价值,需要的朋友可以参考下
    2017-04-04
  • 提升node.js中使用redis的性能遇到的问题及解决方法

    提升node.js中使用redis的性能遇到的问题及解决方法

    本文中提到的node redis client采用的基于node-redis封装的二方包,因此问题排查也基于node-redis这个模块。接下来通过本文给大家分享提升node.js中使用redis的性能
    2018-10-10
  • node.js文件操作系统实例详解

    node.js文件操作系统实例详解

    这篇文章主要介绍了node.js文件操作,结合实例形式详细分析了node.js针对文件的读取、写入、删除、遍历、监控等各种常见操作技巧,需要的朋友可以参考下
    2019-11-11
  • nodejs实现邮件发送服务实例分享

    nodejs实现邮件发送服务实例分享

    本文给大家讲解的是简单的使用nodejs搭建邮件发送服务的一个实例,非常的好用,有需要的小伙伴可以参考下
    2017-03-03

最新评论