如何使用vaadin4spring运行hazelcast会话复制?
我正在编写一个简单的演示应用程序,使用基于共享安全示例的hazelcast会话复制 这里提到过 问题是,如果我启动应用程序,它会停留在登录站点上,出现“通信错误”。 在启用vaadin debug的情况下,它会显示“响应未包含服务器id。请验证服务器是否为最新的,以及响应数据是否在传输中未被修改。” 在IDE中,不显示堆栈跟踪 我在这里也尝试了这个工作示例,但它没有给我一个如何将hazelcast与vaadin4spring集成的提示 以下是我的配置:如何使用vaadin4spring运行hazelcast会话复制?,spring,vaadin,hazelcast,vaadin4spring,Spring,Vaadin,Hazelcast,Vaadin4spring,我正在编写一个简单的演示应用程序,使用基于共享安全示例的hazelcast会话复制 这里提到过 问题是,如果我启动应用程序,它会停留在登录站点上,出现“通信错误”。 在启用vaadin debug的情况下,它会显示“响应未包含服务器id。请验证服务器是否为最新的,以及响应数据是否在传输中未被修改。” 在IDE中,不显示堆栈跟踪 我在这里也尝试了这个工作示例,但它没有给我一个如何将hazelcast与vaadin4spring集成的提示 以下是我的配置: public void confi
public void configure(AuthenticationManagerBuilder auth) throws Exception {
User.UserBuilder users = User.withDefaultPasswordEncoder();
auth.inMemoryAuthentication().withUser("user").password("{noop}user").roles("USER")
.and()
.withUser("admin").password("{noop}admin").roles("ADMIN");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable(); // Use Vaadin's built-in CSRF protection instead
http.authorizeRequests().antMatchers("/login/**").anonymous()
.antMatchers("/vaadinServlet/UIDL/**").permitAll()
.antMatchers("/vaadinServlet/HEARTBEAT/**").permitAll().anyRequest().authenticated();
http.httpBasic().disable();
http.formLogin().disable();
// Remember to add the VaadinSessionClosingLogoutHandler
http.logout().addLogoutHandler(new VaadinSessionClosingLogoutHandler()).logoutUrl("/logout")
.logoutSuccessUrl("/login?logout").permitAll();
http.exceptionHandling().authenticationEntryPoint(new LoginUrlAuthenticationEntryPoint("/login"));
// Instruct Spring Security to use the same RememberMeServices as Vaadin4Spring. Also remember the key.
//http.rememberMe().rememberMeServices(rememberMeServices()).key("myAppKey");
// Instruct Spring Security to use the same authentication strategy as Vaadin4Spring
http.sessionManagement().sessionAuthenticationStrategy(sessionAuthenticationStrategy());
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/VAADIN/**");
}
/**
* The {@link AuthenticationManager} must be available as a Spring bean for Vaadin4Spring.
*/
@Override
@Bean
public AuthenticationManager authenticationManagerBean() throws Exception {
return super.authenticationManagerBean();
}
/**
* The {@link SessionAuthenticationStrategy} must be available as a Spring bean for Vaadin4Spring.
*/
@Bean
public SessionAuthenticationStrategy sessionAuthenticationStrategy() {
return new SessionFixationProtectionStrategy();
}
@Bean(name = VaadinSharedSecurityConfiguration.VAADIN_AUTHENTICATION_SUCCESS_HANDLER_BEAN)
VaadinAuthenticationSuccessHandler vaadinAuthenticationSuccessHandler(HttpService httpService,
VaadinRedirectStrategy vaadinRedirectStrategy) {
return new VaadinUrlAuthenticationSuccessHandler(httpService, vaadinRedirectStrategy, "/");
}
@Bean
public HazelcastInstance hazelcastInstance() {
MapAttributeConfig attributeConfig = new MapAttributeConfig()
.setName(HazelcastSessionRepository.PRINCIPAL_NAME_ATTRIBUTE)
.setExtractor(PrincipalNameExtractor.class.getName());
Config config = new Config();
config.setProperty("hazelcast.max.no.heartbeat.seconds", "60")
.getMapConfig("spring:session:sessions")
.addMapAttributeConfig(attributeConfig)
.addMapIndexConfig(new MapIndexConfig(HazelcastSessionRepository.PRINCIPAL_NAME_ATTRIBUTE, false));
config.getGroupConfig().setName("admin");
return Hazelcast.newHazelcastInstance(config);
}
pom代码段:
<java.version>1.8</java.version>
<vaadin.version>8.7.2</vaadin.version>
<spring-boot-ext.version>2.0.0.RELEASE</spring-boot-ext.version>
</properties>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session-hazelcast</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.vaadin.spring.extensions</groupId>
<artifactId>vaadin-spring-ext-boot</artifactId>
<version>${spring-boot-ext.version}</version>
</dependency>
<dependency>
<groupId>org.vaadin.spring.extensions</groupId>
<artifactId>vaadin-spring-ext-security</artifactId>
<version>${spring-boot-ext.version}</version>
</dependency>
<dependency>
<groupId>org.vaadin.spring.extensions</groupId>
<artifactId>vaadin-spring-ext-core</artifactId>
<version>${spring-boot-ext.version}</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.vaadin</groupId>
<artifactId>vaadin-bom</artifactId>
<version>${vaadin.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
1.8
8.7.2
2.0.0.1版本
com.vaadin
瓦丁弹簧靴起动器
org.springframework.session
春季会议hazelcast
org.springframework.boot
弹簧起动试验
测试
org.vaadin.spring.extensions
瓦丁弹簧外靴
${spring-boot-ext.version}
org.vaadin.spring.extensions
瓦丁春天分机安全
${spring-boot-ext.version}
org.vaadin.spring.extensions
瓦丁弹簧外芯
${spring-boot-ext.version}
com.vaadin
瓦丁波姆
${vaadin.version}
聚甲醛
进口