博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
node.js 实现一个简单的登录拦截器
阅读量:2193 次
发布时间:2019-05-02

本文共 1031 字,大约阅读时间需要 3 分钟。

来自:

拦截器在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路径,第二个是过滤器,如果满足过滤器将下一步进入路由处理函数,如果不满足将不会走到后面的路由定义函数里.

转载地址:http://finub.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-14》283.移动零
查看>>
Leetcode C++《热题 Hot 100-15》437.路径总和III
查看>>
Leetcode C++《热题 Hot 100-17》461.汉明距离
查看>>
Leetcode C++《热题 Hot 100-18》538.把二叉搜索树转换为累加树
查看>>
Leetcode C++《热题 Hot 100-21》581.最短无序连续子数组
查看>>
Leetcode C++《热题 Hot 100-22》2.两数相加
查看>>
Leetcode C++《热题 Hot 100-23》3.无重复字符的最长子串
查看>>
Leetcode C++《热题 Hot 100-24》5.最长回文子串
查看>>
Leetcode C++《热题 Hot 100-28》19.删除链表的倒数第N个节点
查看>>
Leetcode C++《热题 Hot 100-29》22.括号生成
查看>>
Leetcode C++《热题 Hot 100-47》236.二叉树的最近公共祖先
查看>>
Leetcode C++《热题 Hot 100-48》406.根据身高重建队列
查看>>
《kubernetes权威指南·第四版》第二章:kubernetes安装配置指南
查看>>
Leetcode C++《热题 Hot 100-49》399.除法求值
查看>>
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>
Leetcode C++ 《第181场周赛-2》 1390. 四因数
查看>>
阿里云《云原生》公开课笔记 第一章 云原生启蒙
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>