gpt4 book ai didi

java - Spring Boot WebSecurityConfig LogoutSuccessURL 与 invalidSessionUrl

转载 作者:行者123 更新时间:2023-11-30 05:27:48 25 4
gpt4 key购买 nike

我正在开发一个 Spring Boot 项目和用于 session 控制的 WebSecurityConfig。问题是,当 session 过期时,我被重定向到 /?sessionexpired ,而我的期望是它应该重定向到 /?expiredsession 。此外,当用户注销时,页面会重定向到 /?sessionexpired 而不是 /?logout

我的配置如下

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

http
.authorizeRequests()
.antMatchers("/thirdparty/**", "/webjars/**", "/sessionerror").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/")
.failureUrl("/?error")
.defaultSuccessUrl("/dashboard")
.permitAll()
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/?logout")
.logoutRequestMatcher(new AntPathRequestMatcher("/logout")) // override default of only allowing POST for logout so we can use a GET
.deleteCookies("remove")
.invalidateHttpSession(true)
.permitAll()
.and()
.sessionManagement()
.maximumSessions(1)
.expiredUrl("/?expiredsession")
.maxSessionsPreventsLogin(false)
.and()
.invalidSessionUrl("/?sessionexpired");
}

有人可以帮我解决这个问题吗?

最佳答案

所以我最终明白了。它重定向到 /?sessionexpired 因为在注销时我通过将其设置为 true 来使Session 无效。我应该将其设置为 false,然后使用 .deleteCookies("JSESSIONID") 使 session 无效。这样它将正确重定向。

关于java - Spring Boot WebSecurityConfig LogoutSuccessURL 与 invalidSessionUrl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58204148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com