会话超时后复制应用程序会话cookie

时间:2016-04-20 10:24:02

标签: java spring session tomcat cookies

我的Web应用程序遇到问题。 我在Tomcat上运行Spring \ Java应用程序,使用cookie。我的会话到期时会出现问题。 应用程序正确生成一个新cookie并将其写入URL,但cookie被复制。在下一个请求中,已删除过期的cookie,但在第一个请求中,我有两个cookie。

所以,步骤:

  1. 我的用户登录应用程序,应用程序设置cookie并将其附加到请求中:

  2. 如果我等待会话过期,则在下一个请求时,网址会更改为:

  3. 在下一个请求中,网址转到:

  4. 这是我的SecurityConfig:

    final HttpSessionCsrfTokenRepository tokenRepository = new HttpSessionCsrfTokenRepository();
            tokenRepository.setHeaderName("TOOLBIZ-CSRF-TOKEN");
            tokenRepository.setParameterName("toolbiz_csrf");
    
            http.authorizeRequests()
            .antMatchers("/main/**").permitAll()
            .antMatchers("/main").permitAll()
            .antMatchers("/main/logout").permitAll()
            .antMatchers("/errore").permitAll()
            .antMatchers("/errore/**").permitAll()
            .antMatchers("/admin/**").access("hasRole('ROLE_ADMIN')")
            .antMatchers("/**").access("hasRole('ROLE_USER')")
            .and().sessionManagement().enableSessionUrlRewriting(true)
            .and().formLogin()
            .loginPage("/main/login").failureUrl("/login?error")
            .usernameParameter("username")
            .passwordParameter("password")
            .and().logout().logoutSuccessUrl("/logout")
            .deleteCookies("cookie")                  <-----------------------
            .and().exceptionHandling().accessDeniedPage("/jsp/403.jsp")
            .and().csrf().disable();
        }
    

    我做了类似的事情:

    .and().sessionManagement().invalidSessionUrl("/").sessionFixation().newSession()
    

    但我不知道这是否正确。

    如果您需要其他信息,请不要犹豫。提前谢谢。

    编辑:cookie在web.xml文件中生成:

    <session-config>
       <cookie-config>
        <name>toolBizCookie</name><!-- default is jsessionid -->
        <http-only>true</http-only>
       </cookie-config>
       <tracking-mode>URL</tracking-mode>
      </session-config>
    

0 个答案:

没有答案