如果我使用的是Spring Security和应用服务器集群,并且复制了http会话,那么是否可以让经过身份验证的用户自动故障转移到集群中的另一个节点,并且仍然可以登录?使用分布式缓存而不是跨集群复制会话是否更好?
发布于 2011-10-15 08:49:39
是。Spring Security的安全上下文作为一个值存储在会话中。因此,如果您的会话被复制,安全上下文也将被复制,因此,您的经过身份验证的用户命中哪个工作进程将无关紧要。
当然,会话复制不是即时的,因此,如果您的用户在服务器关闭之前进行了身份验证,那么故障转移服务器可能没有机会获得复制的上下文。但是,如果他们进行了身份验证,并继续执行了一系列操作,然后服务器发生故障,则安全上下文将已经复制,并且用户的会话应该在新的故障转移服务器上从它停止的地方继续。
在tomcat、jboss和weblogic下,这将略有不同,因此您确实需要进行测试,以确保覆盖您的特定用例。
https://stackoverflow.com/questions/4396546
复制相似问题