当前位置: 首页 > 知识库问答 >
问题:

Spring boot+Spring security+hazelcast会话复制无法使其工作

沈琨
2023-03-14

当我介绍hazelcast时,第一次验证是成功的。之后,第一个请求也是成功的。但在那之后

org.springframework.security.web.context.httpsessionSecurityContextRepository找不到会话...

正如我所说,在配置com.hazelcast.web.webfilter进行sesion复制之后,就开始出现这种情况,如下所示:

  @Bean
public WebFilter webFilter(HazelcastInstance hazelcastInstance) {

    Properties properties = new Properties();
    properties.put("instance-name", hazelcastInstance.getName());
    properties.put("sticky-session", "true");

    return new WebFilter(properties);
}

2017-08-22 15:17:31,593:[DEBUG][http-nio-7023-exec-2][HttpSessionSecurityContextRepository]从HttpSession:null中没有可用的SecurityContext。将创建一个新的。

我确信客户端在成功登录后会发送相同的cookie

我想不出原因。欢迎任何指导。

共有1个答案

方建明
2023-03-14

我可以通过使用spring Session来完成这个工作…

https://docs.spring.io/spring-session/docs/current/reference/html5/guides/java-hazelcast.html

会话在循环负载均衡器后面的两个实例之间成功复制。非常感谢spring session开发人员...

 类似资料:
  • 我在Spring Boot应用程序中遵循基于Hazelcast的会话复制文档。 谢谢Aravind

  • 我有一些hazelcast http会话复制特性的问题。 我有些问题: 在同一个tomcat集群中有没有可能有hazelcast封装的应用程序和非hazelcast封装的应用程序? 带有hazelcast的应用程序应该是可分发的?(通过像其他方法一样添加它的web.xml) 部署应用程序的Tomcat不应该在集群中?是否可以在同一tomcat中使用标准tomcat会话复制将其他应用程序群集化? 编

  • 我正在尝试使用Hazelcast分布式缓存来复制带有Spring Boot&Spring Security的HTTP会话,但无法进行设置(不过,简单的缓存复制工作良好,我已经通过在一个应用程序节点的map中设置一些值并尝试在其他集群节点上获得它来验证了这一点)。 我已经通过网页上的东西,但不幸的是,我无法设置这一点。应用程序在集群中运行时,在一个节点上登录后,我没有在其他节点上获取会话对象(我正在

  • 一旦我们开始使用这个,Vaadin就会崩溃并停止工作。当为了调试而用内存中的映射替换外部缓存时,它会再次工作。 这似乎是由引起的,因为它将存储为会话属性。是,Javadoc显示: VaadinSession中的所有内容都应该是可序列化的,以确保与使用序列化持久化会话数据的方案兼容。 注意:我们也有一个使用Vaadin8的应用程序版本,这里也发生了同样的事情。这个问题似乎是由Vaadin Sprin

  • 问题内容: 我正在本地计算机上的Tomcat 7上设置群集/复制,以评估它是否可与我的环境/代码库一起使用。 建立 我在不同端口上运行的同级目录中有两个相同的tomcat服务器。我已经在其他两个端口上监听了httpd,并作为VirtualHosts连接到了两个tomcat实例。我可以在配置的端口上访问两种环境并与之交互。一切都按预期进行。 Tomcat服务器在server.xml中启用了集群功能:

  • 我在Windows的JBoss EAP 6.1中成功地使用了会话复制。但后来我改为JBoss EAP 6.4在ubuntu中进行开发测试,同样的代码停止了工作。 没什么,我只是添加了<代码> 我将类的实例存储在超文本传输协议会话中,使用(环境变量)关闭服务器,然后再次启动服务器。服务器启动后,当我再次尝试访问会话时,我无法检索类实例,控制台中出现以下错误: 我不知道从哪里开始研究,因为我对JBos