Java 如何将Spring Security与具有会话复制的集群一起使用,以对经过身份验证的用户进行故障转移?

Java 如何将Spring Security与具有会话复制的集群一起使用,以对经过身份验证的用户进行故障转移?,java,spring-security,Java,Spring Security,如果我使用的是Spring安全和应用服务器集群,并且复制了http会话,那么是否可以让经过身份验证的用户自动故障切换到集群中的另一个节点,并且仍然登录?使用分布式缓存而不是跨集群复制会话是否更好?是。Spring Security的安全上下文作为值存储在会话中。因此,如果您的会话被复制,那么安全上下文也将被复制,因此,您的已验证用户点击哪个工作者并不重要 当然,会话复制不是即时的,因此,如果您的用户在服务器停机之前进行了身份验证,则故障转移服务器可能没有机会获取复制的上下文。但是,如果他们进行了

如果我使用的是Spring安全和应用服务器集群,并且复制了http会话,那么是否可以让经过身份验证的用户自动故障切换到集群中的另一个节点,并且仍然登录?使用分布式缓存而不是跨集群复制会话是否更好?

是。Spring Security的安全上下文作为值存储在会话中。因此,如果您的会话被复制,那么安全上下文也将被复制,因此,您的已验证用户点击哪个工作者并不重要

当然,会话复制不是即时的,因此,如果您的用户在服务器停机之前进行了身份验证,则故障转移服务器可能没有机会获取复制的上下文。但是,如果他们进行了身份验证,并继续执行一系列操作,然后服务器出现故障,那么安全上下文就已经被复制了,用户的会话应该在新的故障转移服务器上重新开始

在tomcat、jboss和weblogic下,这将略有不同,因此您确实需要进行测试,以确保您的特定用例被涵盖