vue-express架构中session失效问题

本文介绍了解决Vue项目与Node服务端交互时出现的跨域和session失效问题的方法。通过在Vue端配置代理及Node端使用cors,确保了数据传输的安全性和session的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们使用node作为服务端,

经常会用到express-session或者cookie-session

来保存数据,

但是我们会经常遇到

在vue端发起post请求的时候,node 端响应接口的时候,

我们的req.session会出现失效的问题,

出现这个bug的原因是客户端发送post请求的时候发生了跨域,

解决方法:

在客户端使用吸片技术,使用/api等路径来代替网路请求的地址,

在Vue项目中我们可以新建一个 vue.config.js文件,

(配置proxyTable, 使用客户端反向代理进行跨域),

但是你也会说我们解决跨域问题也可以在后端进行cors配置,

但是虽然解决了跨域问题,也会造成req.session失效的问题。

所以我们可以只在vue端进行配置即可:

vue.config.js中具体的配置内容:

module.exports={
    configureWebpack:{
        devServer:{
            proxy:{
                '/api':{
                    target:'http://localhost:3000',
                    changeOrigin: true,
                    pathRewrite: {
                        "^/api":''
                    }
                }

            }
        }
    }
}

以上就可以解决了。

 

但是如果只在vue端进行反向代理进行跨域的话会存在一个安全问题,

如果你想保证安全,可以在vue端进行配置之后,然后再node端使用cors进行配置

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值