Настройка времени ожидания сеанса в весенней загрузке приложения с помощью Google App Engine - PullRequest
1 голос
/ 23 апреля 2019

У меня есть приложение с весенней загрузкой, которое развертывается в Google App Engine. У меня есть требование установить время сеанса на основе условия.

Я попытался подключить successHandler в конфигурации безопасности Spring как

 protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable()
            .sessionManagement()
            .sessionCreationPolicy(SessionCreationPolicy.ALWAYS)
            .and()
            .successHandler(successHandler())

    }

А вот и обработчик успеха

    private AuthenticationSuccessHandler successHandler() {
    return (httpServletRequest, httpServletResponse, authentication) -> {
        httpServletRequest.getSession().setMaxInactiveInterval(10);
    };
}

Я выяснил, что движок приложений Google использует сервер Jetty (на самом деле Jetty 9) и он часто хранит созданные сеансы в memcache и datastore. что-то, как движок приложения не соблюдает время ожидания сеанса, установленное путем вызова

httpServletRequest.getSession().setMaxInactiveInterval(10);
...