2010-09-15 81 views
0

我有两个.NET网站,它被设置为通过SQL db共享会话。用户正在获取其他用户的会话!

网站使用session("MY_Session").addSession("MY_Session")存储和检索会话。存储的内容基本上是一个用户名和用户名的自定义类。

父网站使用DefaultAppPool在IIS中设置,然后将辅助站点设置为同一池中的虚拟目录应用程序。 。

我不太清楚它是如何建立在SQL的会议,因为我没有把它放在

在web.config这两个应用程序,它被设置如下:

sessionState mode="SQLServer" 
sqlConnectionString="server=xxxxx;uid=uuuu;pwd=pppppp;Application Name=NNNNNN"/ 

用户声称他们有时会打开浏览器,进入该网站,发现其他人的信息(来自同一组织内)的出现......

任何人能告诉我什么,我做错了请下一步做什么?

回答

2

如果涉及代理服务器,这可能是一个缓存问题 - 确保任何个性化内容都被正确标记,以便它不在客户端之间共享。

像这样的标题应改进事项:

的Cache-Control:私人

+0

谢谢你的建议。因此,这将有望强制用户的电脑刷新服务器,但我很困惑他们为什么会抢别人的会话?我的意思是,这些人声称他们没有输入任何用户名或密码,并且能够浏览整个网站并且可以充分访问其他人的信息!几乎像一个会话劫持 – Ichirichi 2010-09-15 12:19:00

+0

我很安全地假设他们正在使用不同的PC? – Spooks 2010-09-15 12:39:00

+1

@Ichirichi可能会出现会话未被共享的情况,但基于会话生成的内容已被中间代理缓存,并被提供给其他客户端,而不会将请求一直返回到服务器。 – 2010-09-15 12:53:45