swoft-cloud / swoft

🚀 PHP Microservice Full Coroutine Framework
https://swoft.org
Apache License 2.0
5.58k stars 786 forks source link

session自动丢失 #299

Closed hujinhuaP closed 6 years ago

hujinhuaP commented 6 years ago

存储到session的数据,会自动丢失,多个异步请求得时候会丢失,如果全部为同步请求就不会丢失

huangzhhui commented 6 years ago

请提供请求方法,并注意请求是否提供了SessionId

hujinhuaP commented 6 years ago

image 请求提供的sessionid image redis该session存储的数据

image 调用中间件

image 中间件代码

其它就没有地方调用session了,就剩下登录和注销调用了session了

如果页面加载时触发多个请求,使用默认异步的方式,就会把session给清掉,如果页面加载时多个请求采用sync同步的方式,就不会清掉session了

环境配置:nginx+swoft的dockerfile + mysql +redis 使用虚拟机里面的docker

huangzhhui commented 6 years ago

请提供页面加载时同步与异步的使用方式

huangzhhui commented 6 years ago

请注意如果使用fetch作为异步请求时是默认不带cookies的

hujinhuaP commented 6 years ago

前端要手工传递?异步请求是这样子的 image image image

huangzhhui commented 6 years ago

axios默认是不会带上cookies的,axios.defaults.withCredentials = true 开启