【发布时间】:2013-01-21 19:30:18
【问题描述】:
最近我们遇到了一个严重的问题,即为一个用户提供了另一个用户的数据。这个问题几乎不可能重现。
我们正在使用 Spring-security 提供的标准登录用户管理,我们确信问题不在于将用户存储在实例变量中或在我们的应用程序中存储类似的并发内容。
我们真的怀疑问题出在 SpringSecurity 或 Tomcat 本身。
我们的前端服务器是 apache httpd,通过 ajp 连接器 (mod_jk) 连接到 tomcat。我们没有做任何负载平衡(httpd 只关心 SSL,一些 url 重写和服务一些 php 模块)
这是我们的设置:
## OS
OS Name: Linux
OS Version: 2.6.32-5-686
Architecture: i386
## Apache httpd
Server version: Apache/2.2.16 (Debian)
Server built: Sep 4 2011 20:27:42
## mod_jk
mod_jk/1.2.30 (installed via apt-get)
## JVM
JVM Version: 1.6.0_18-b18
JVM Vendor: Sun Microsystems Inc.
## Tomcat
Server version: Apache Tomcat/6.0.28
Server built: February 12 2011 1443
我们将此会话中的 httpd / mod_jk 混淆了,因此我们唯一的解决方案是删除 apache httpd。但在我们离开这个流行且广泛使用的配置之前,我们想知道是否有人遇到过类似的问题。
我发现的唯一类似问题是负载平衡或 mod_jk。
你有没有遇到过类似的问题? 任何提示、想法、链接或经验都将受到高度赞赏。 谢谢!
【问题讨论】:
-
你没疯,这和我遇到的情况几乎一模一样。请看我的问题:stackoverflow.com/questions/14845493/…。您是否找到过解决方案或有任何其他信息?如果您想在聊天中谈论它,我可以分享尽可能多的信息。
-
我弄清楚是什么导致了我这个确切的问题。在上面的评论中查看我的自我回答,当您将 Spring 集成到 JSF 项目中时,它与托管 bean 在 JSF 和 Spring 中的工作方式不同有关。
-
您好 maple_shaft,感谢您的帖子。不幸的是,在我们的例子中,它绝对不是我们代码中的错误。祝你好运。
标签: tomcat spring-security apache2 mod-jk