【问题标题】:Java HttpSession problem with ISA Server 2006ISA Server 2006 的 Java HttpSession 问题
【发布时间】:2011-10-13 20:04:50
【问题描述】:

我希望你能帮助我,因为我试图在互联网上找到答案,但我没有找到任何相关信息。

问题:我有一个在公共环境中运行良好的通用 Java Web 应用程序(首页是登录页面,然后是系统选项)。我有一个客户端,它使用 ISA Server 2006 作为其企业的代理,而那个地方的人会遇到一些错误,例如显示同时登录系统的其他用户的信息。我认为错误在于 ISA 正在缓存会话 cookie,当某些用户发出请求时,ISA 共享该 cookie 向我的服务器发送带有错误 sessionId 的请求。

有人对此问题有任何想法或知道如何解决它(我无权访问 ISA 以避免缓存我的应用程序)?

谢谢!

【问题讨论】:

    标签: java jakarta-ee httpsession isaserver


    【解决方案1】:

    我从未听说过代理缓存会话 cookie 的问题。这并不是说它不会发生,但我会先看看离家更近的地方。您所描述的将是非线程安全代码的预期结果。在您的代码库中查找并发问题。另一种可能性是网络缓存。如果数据请求都发送到同一个 URL 并且您没有适当地控制缓存,则可以想象 Web 缓存可能会缓存来自一个用户请求的数据并将其显示给另一个用户。

    【讨论】:

    • 我使用 Spring 3 for web 使用 MultiActionControllers,这样我不知道我是否有非线程安全的问题,但我不认为。我将指令放在下面,但这不适用于代理。你知道另一种管理缓存的方法吗?
    • 这是指令<% response.setHeader("Cache-Control","no-store"); //HTTP 1.1 response.setHeader("Pragma","no-cache"); //HTTP 1.0 response.setDateHeader("Expires", -1); %> <meta http-equiv="Expires" content="0"> <meta http-equiv="Last-Modified" content="0"> <meta http-equiv="Cache-Control" content="no-cache, mustrevalidate"> <meta http-equiv="Pragma" content="no-cache">
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多