我在端口3000运行我的客户端(frondend)app express app,在8080运行另一个管理快递应用程序。
但是当我浏览任何页面或刷新客户端快递应用程序中的任何页面时,管理员应用程序中的会话将丢失并重定向到登录。
我正在使用Express-session npm for admin和frond end就像一个cms frondend,即没有会话或任何复杂的东西。任何人都可以告诉我为什么会这样吗?
答案 0 :(得分:1)
在端口3000上运行的应用的Cookie也会发送到在端口8080上运行的应用(反之亦然)。
我的猜测是,您没有为每个应用提供唯一的cookie name,因此您可能会对这两个应用的会话处理产生干扰。
因此,请为每个使用不同的Cookie名称:
app.use(session({
name : 'frontend.sid', // and, say, 'admin.sid' for the admin app
...
}));
答案 1 :(得分:0)
在不同的浏览器中运行 :
在不同的浏览器中尝试其中一个,例如chrome
中的一个和mozilla
中的其他浏览器。这是由于会议在那里发生冲突而发生的。
更改浏览器可能是一个很好的解决方案。
想要在同一个浏览器中运行 :
只需在normal mode
中运行一项服务,然后在incognito mode
答案 2 :(得分:0)
根据提供的信息,我建议您查看初始化快速会话的方式。如果secure
标志设置为true,则期望为localhost设置有效的HTTPS证书,否则将不会创建会导致重定向问题的会话。
来自文档:
secure:指定Secure Set-Cookie的布尔值 属性。当真实时,设置Secure属性,否则设置 不。默认情况下,未设置Secure属性。 请注意,secure:true是推荐选项。但是,它 需要启用https的网站,即HTTPS是安全所必需的 饼干。如果设置了安全性,并且您通过HTTP访问您的站点,则 cookie将不会被设置。