node.js框架express的redirect重定向拦截返回页面框架问题

在node.js开发中使用express-session来进行拦截

在未登录成功的情况下,进入主页或其他页面来进行重新定向到登录页面

代码如下:

//引入
var express=require('express');
var mysql=require('mysql');
var bodyParser=require('body-parser');
var favicon=require('serve-favicon');
var path=require('path');
var morgan = require('morgan');
var userListRouter=require('./router/userList');
var ejs=require('ejs');
server.use(express.static('./http')); //选择地址

//创建服务
var app=express();

//拦截模块
server.use(session({
    secret: 'root', //密钥
    resave: true, //重新保存,当再有请求过来的时候,会覆盖之前的session
    rolling: true,
    saveUninitialized: true, //初始化session是否保存
    cookie: {
        maxAge: 10000 //过期时间  毫秒
    }
}));

server.all('*', function (req, res, next) {
    console.log(req.session);
    if (req.session.user) {
        next();
    } else {
        if (req.url == '/pages/login.html' || req.headers.referer == 'http://localhost/pages/login.html') {
            next();
        } else {
            res.redirect('http://localhost:/pages/login.html');
        }
    }
});


如果像以上这种方式是不会从新定向的

在这里插入图片描述在这里插入图片描述
会直接返回登录页面的结构,达不到重新定向跳转页面的目的,在多次实验以后发现问题在于

server.use(express.static('./http')); //选择地址
这个必须写在拦截模块的后面,才能达到重新定向 页面的效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值