我希望你能帮助我,因为我尝试在互联网上寻找答案,但我没有找到任何关于此的信息。
问题:我有一个常见的 Java Web 应用程序(第一页是登录页面,然后是系统选项),它在公共(public)环境中运行得很好。我有一个客户,其企业使用 ISA Server 2006 作为代理,而该地方的人员会遇到一些错误,例如显示同时登录系统的其他用户的信息。我认为错误在于 ISA 正在缓存 session cookie,当某些用户发出请求时,ISA 共享该 cookie,并向我的服务器发送带有错误 sessionId 的请求。
有人对这个问题有任何想法或知道如何解决它(我无权访问 ISA 以避免缓存我的应用程序)?
谢谢!
最佳答案
我从未听说过代理缓存 session cookie 的问题。这并不是说这不可能发生,但我会先看看离家更近的地方。您所描述的将是非线程安全代码的预期结果。查找代码库中的并发问题。另一种可能性是网络缓存。如果对数据的请求全部发送到同一个 URL,并且您没有适本地控制缓存,则可以想象,Web 缓存可能会缓存一个用户请求的数据并将其显示给另一用户。
关于ISA Server 2006 的 Java HttpSession 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6837624/