Spring和acgi安全是tomcat中负载平衡的问题
Posted
技术标签:
【中文标题】Spring和acgi安全是tomcat中负载平衡的问题【英文标题】:Spring and acgi security is issue with load balancing in tomcat 【发布时间】:2012-10-16 09:06:10 【问题描述】:我有 spring 应用程序使用 acgi security 进行身份验证,我还使用了许多 过滤器和拦截器,它在单个主机上运行良好。现在我想使用 tomcat 在集群中运行我的应用程序,并使用 apache 服务器的 负载平衡。 现在,当我在集群中运行我的应用程序时,当 使用stickySession 模式 时它可以正常工作, 但是当我使用多播时,它不允许登录并且总是重定向到登录页面。
我不知道为什么会出现这个问题。
【问题讨论】:
【参考方案1】:Spring Security 的安全上下文作为值存储在您的会话中。因此,如果您的会话跨节点复制,那么上下文也将可用,如果您使用的是棒会话,那么请求将命中相同的上下文,因此它可以工作。多播不是即时的,可能是无法在多播模式下工作的原因之一。
我不确定这是否可行,但您可以在数据库中使用会话持久性并跨节点共享,这将比会话复制具有优势,但我认为坚持会话将是我认为的最佳选择。
1) http://www.intelligrape.com/blog/2010/07/21/tomcat-6-session-persistence-through-jdbcstore/ 2)tomcat doc
【讨论】:
以上是关于Spring和acgi安全是tomcat中负载平衡的问题的主要内容,如果未能解决你的问题,请参考以下文章
Web Sockets + Tomcat/Glassfish + 集群 + 负载平衡 - 都有哪些选项?