Как заставить сеанс истечь через указанное время? - PullRequest
0 голосов
/ 30 мая 2019

Используя безопасность Spring-boot, я хотел бы принудительно завершить сеанс зарегистрированного пользователя через определенное время (например, 15 минут).

Поскольку JSESSIONID cookie используется для идентификации пользователя, вошедшего в систему, я ожидаю, что срок действия этого cookie должен истечь. Если это правильно, как это сделать? Если нет, то каков правильный подход?

мой текущий SecurityConfig:

@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    @Qualifier("userDetailsServiceImpl")
    private UserDetailsService userDetailsService;

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .csrf()
                .disable()
                .authorizeRequests()
                .antMatchers("/login").permitAll()
                .and()
                .authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .logout().logoutUrl("/logout").deleteCookies("JSESSIONID").clearAuthentication(true).invalidateHttpSession(true)
                .and()
                .httpBasic();
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.authenticationProvider(authenticationProvider()).eraseCredentials(true);
    }

    @Bean
    public DaoAuthenticationProvider authenticationProvider() {
        final DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider();
        authProvider.setUserDetailsService(userDetailsService);
        authProvider.setPasswordEncoder(encoder());
        return authProvider;
    }

    @Bean
    public PasswordEncoder encoder() {
        return new BCryptPasswordEncoder(11);
    }
}

1 Ответ

0 голосов
/ 03 июня 2019

Я нашел связанный вопрос здесь: Spring Boot Java Config Set Session Timeout .

Использование server.servlet.session.timeout=60s хорошо работало, чтобы заставить пользовательский сеанс истечь, и нет необходимости прикасаться к cookie

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...