node.js制作一个简单的登录拦截器

 更新时间:2020年02月10日 08:41:43   作者:一介布衣  
本文给大家分享的是使用node.js制作一个简单的登录拦截的思路及代码,有需要的小伙伴可以参考下

拦截器在web开发中随处可见,比如站点的管理后台,不说所有人都能进入,所以就需要做一个拦截器并友好的跳转到提示页.

下面我们简单实现一种,判断用户是否登录成功,登录不成功的用户自动重定向到登录页面.

首先我们实现一个过滤器

exports.checkAuth=function(req, res, next) {
  var token = req.signedCookies.token;
  if (token && req.session.user && req.session.user.token === token)
    next();
  else if (token) {
    //if invalid token or no session, should rebuild
    var authInfo = user.getAuthInfo(token);
    if (authInfo && authInfo.isAuth) {
      req.session.user = {
        userID: authInfo.userID,
        userName: authInfo.userName,
        isAuth: authInfo.isAuth,
        token: token
      }
      next();

    } else
      res.redirect('/user/login');
  } else
    res.redirect('/user/login');
}


然后定义路由,并加入过滤器

module.exports = function (app) {
  app.get('/user/blogList',pageAdmin.checkAuth, pageAdmin.pageList);
  app.all('/user/post',pageAdmin.checkAuth, pageAdmin.pagePost);
}

上面的路由定义接收3个参数,第一个是 请求的url路径,第二个是过滤器,如果满足过滤器将下一步进入路由处理函数,如果不满足将不会走到后面的路由定义函数里.

相关文章

  • 详解阿里Node.js技术文档之process模块学习指南

    详解阿里Node.js技术文档之process模块学习指南

    这篇文章主要介绍了详解阿里Node.js技术文档之process模块学习指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • webpack打包、编译、热更新Node内存不足问题解决

    webpack打包、编译、热更新Node内存不足问题解决

    Webpack是现在主流的功能强大的模块化打包工具,在使用Webpack时,如果不注意性能优化,有非常大的可能会产生性能问题,下面这篇文章主要给大家介绍了关于webpack打包、编译、热更新Node内存不足问题解决的相关资料,需要的朋友可以参考下
    2023-03-03
  • 了不起的node.js读书笔记之node.js中的特性

    了不起的node.js读书笔记之node.js中的特性

    这篇文章主要介绍了了不起的node.js读书笔记之node.js中的特性,需要的朋友可以参考下
    2014-12-12
  • ajax +NodeJS 实现图片上传实例

    ajax +NodeJS 实现图片上传实例

    本篇文章主要介绍了ajax +NodeJS 实现图片上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • 轻松创建nodejs服务器(10):处理POST请求

    轻松创建nodejs服务器(10):处理POST请求

    这篇文章主要介绍了轻松创建nodejs服务器(10):处理POST请求,本文告诉你如何实现在node.js中处理POST请求,需要的朋友可以参考下
    2014-12-12
  • Windows下使用Nodejs运行js的方法

    Windows下使用Nodejs运行js的方法

    今天小编就为大家分享一篇Windows下使用Nodejs运行js的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-09-09
  • Node.js 全局变量无法挂载问题解决分析

    Node.js 全局变量无法挂载问题解决分析

    这篇文章主要为大家介绍了Node.js 全局变量无法挂载问题解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • 从零学习node.js之express入门(六)

    从零学习node.js之express入门(六)

    相信大家都知道Express是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。下面这篇文章主要介绍了node.js中express的入门知识,需要的朋友可以参考下。
    2017-02-02
  • node-sass是干什么用的

    node-sass是干什么用的

    node-sass是一个项目依赖,在一个项目中在使用sass语法的时候,必须通过sass-loader来解析sass,从而使sass语法变成浏览器能够识别的CSS语法,下面介绍node-sass是什么,一起看看吧
    2023-08-08
  • Node.js上传文件功能之服务端如何获取文件上传进度

    Node.js上传文件功能之服务端如何获取文件上传进度

    这篇文章主要介绍如何利用progress-stream获取文件上传进度,以及该组件使用过程中的注意事项
    2018-02-02

最新评论