2011-03-03 135 views
0

我有一个认证的web应用程序。会话存储在数据库中...会话ID存储在cookie中。 Cookie会话ID和数据库ID在每次呼叫时被验证并且会话ID被重新生成...阿贾克斯饼干问题 - 饼干不是最新的

如果我做了一个带有2个函数调用的ajax请求,后面的调用使用同一个cookie(使用旧的会话ID)第一个做到了。只要呼叫被服务器端脚本接受,会话就会重新生成并且cookie被更新。

会发生什么事是,在第二次请求中的会话ID是无效的(过期),我得到登出...

我怎样才能解决这个问题?

谢谢!

回答

1

第二次调用必须使用与第一次调用一起返回的cookie,否则,因为您声明的是使用的旧会话ID无效。

另一种选择是不会始终重新生成会话ID。

+0

我知道它必须使用返回的cookie ......但我怎么能强迫它做到这一点? – Mission 2011-03-03 15:08:42

+0

+1不是每次都没有再生,没用。只有当身份验证/凭证更改时才会再生。 – Maerlyn 2011-03-03 15:09:14

+0

你们俩都是对的......我只是禁用再生...... – Mission 2011-03-03 15:20:58