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();
});

经过测试,成功了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Node.js文件系统fs扩展fs-extra说明

    Node.js文件系统fs扩展fs-extra说明

    这篇文章主要介绍了Node.js文件系统fs扩展fs-extra说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • nodejs+websocket实时聊天系统改进版

    nodejs+websocket实时聊天系统改进版

    这篇文章主要介绍了nodejs+websocket实时聊天系统的改进版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • Node.js调试技术总结分享

    Node.js调试技术总结分享

    Node.js是一个可以快速构建网络服务及应用的平台。该平台的构建是基于Chrome's JavaScript runtime,也就是说,实际上它是对Google V8引擎(应用于Google Chrome浏览器)进行了封装。 今天介绍Node.js调式目前有几种技术,需要的朋友可以参考下。
    2017-03-03
  • NodeJs测试框架Mocha的安装与使用

    NodeJs测试框架Mocha的安装与使用

    本文全面介绍如何使用Mocha,让你轻松上手。如果你以前对测试一无所知,本文也可以当作JavaScript单元测试入门。
    2017-03-03
  • Node.js使用对话框ngDialog的示例代码

    Node.js使用对话框ngDialog的示例代码

    本篇文章主要介绍了Node.js使用对话框ngDialog的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • 详解Node.js中的模块化方法

    详解Node.js中的模块化方法

    这篇文章主要为大家介绍了Node.js的模块化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-01-01
  • Node.js实现http请求服务与Mysql数据库操作方法详解

    Node.js实现http请求服务与Mysql数据库操作方法详解

    这篇文章主要介绍了Node.js实现http请求服务与Mysql数据库操作方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • 搭建一个nodejs脚手架的方法步骤

    搭建一个nodejs脚手架的方法步骤

    这篇文章主要介绍了如何搭建一个nodejs脚手架的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Node.js数据库钩子的使用

    Node.js数据库钩子的使用

    本文主要介绍了Node.js数据库钩子的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • NVM管理Node.js实现不同版本Angular环境切换

    NVM管理Node.js实现不同版本Angular环境切换

    Node Version Manager(NVM)是一个用于管理多个Node.js版本的工具,它允许用户在同一台机器上安装和使用多个Node.js版本,本文将给大家介绍NVM管理Node.js实现不同版本Angular环境切换的流程步骤,需要的朋友可以参考下
    2024-05-05

最新评论