Spring Security + Spring 4-禁用同一用户的多重登录

时间:2016-06-08 14:13:10

标签: java spring spring-security spring-boot

我有以下弹簧配置: -

@Override
    protected void configure(
        final HttpSecurity http)
        throws Exception {

      http.authorizeRequests().anyRequest().authenticated().and()
          .formLogin().loginPage("/login").defaultSuccessUrl("/home")
          .permitAll().and().logout().permitAll()
          .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
          .logoutSuccessUrl("/login?logout").permitAll().and()
          .httpBasic().and()
          .exceptionHandling()
          .accessDeniedPage("/error").and()
          .sessionManagement().maximumSessions(1);   
    }

我期待sessionManagement().maximumSessions(1)禁用同一用户的多次登录。但我仍然可以从同一浏览器的不同标签登录。

请您告诉我哪里出了问题。

1 个答案:

答案 0 :(得分:1)

在@Configuration类

中添加它
@Bean
public ServletListenerRegistrationBean<HttpSessionEventPublisher> httpSessionEventPublisher() {
    return new ServletListenerRegistrationBean<HttpSessionEventPublisher>(new HttpSessionEventPublisher());
}