Spring Security-несколько зарегистрированных пользователей

У меня проблема с конфигурацией безопасности Spring.

Когда я регистрируюсь на одном компьютере как пользователь1, а затем я войду как пользователь2 на другом компьютере, первый компьютер после обновления видит все как пользователь2.

Другими словами, невозможно одновременно проводить два сеанса с разными пользователями.

Конфигурация:

@Configuration
@EnableWebSecurity
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("user1").password("user1").roles("USER");
        auth.inMemoryAuthentication().withUser("user2").password("user2").roles("USER");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        CharacterEncodingFilter filter = new CharacterEncodingFilter();
        filter.setEncoding("UTF-8");
        filter.setForceEncoding(true);
        http.addFilterBefore(filter,CsrfFilter.class);

        http.csrf().disable();

        http.authorizeRequests()
                .antMatchers("/", "/login").permitAll()
                .antMatchers("/questions/**").access("hasRole('USER')")
                .and().formLogin().loginPage("/login").defaultSuccessUrl("/questions")
                .usernameParameter("ssoId").passwordParameter("password");
    }

Версия обеспеченностью весны: 4.0.1.ОСВОБОЖДАТЬ

Весенняя версия: 4.1.6.ОСВОБОЖДАТЬ

Запрос входа в контроллер:

@RequestMapping(value = { "/", "/login" }, method = RequestMethod.GET)
public String homePage() {
    return "login";
}

1 ответ

  1. @Autowired
    public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser("user1").password("user1").roles("USER");
        auth.inMemoryAuthentication().withUser("user2").password("user2").roles("USER");
    }
    

    С этим, вы говорите, что пользователь 2 на сессии

    @Autowired
    public void configureGlobalSecurity(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication().withUser(getUser()).password(getPassword()).roles("USER");
    }