Spring Boot + React 中的会话超时

问题描述

我可以在 web.xml 中配置会话超时,但在会话超时后从反应端获取错误。 使用 spring 安全和 jwt 令牌。

WebSecurity.java

@Configuration
@EnableWebSecurity
public class WebSecurity extends WebSecurityConfigurerAdapter {

    @Autowired
    UserDetailServiceImpl userDetails;

    @Autowired
    JWTAuthenticationFilter jwtRequestFilter;

    @Autowired
    public void configAuthentication(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetails).passwordEncoder(getpasswordEncoder());
    }

    @Override
    protected void configure(HttpSecurity httpSecurity) throws Exception {
        httpSecurity.csrf().disable().authorizeRequests()
                .antMatchers(HttpMethod.GET,"/index*","/static/**","/*.js","/*.json","/*.ico","/*.png")
                .permitAll().antMatchers("/resources/**","/login","/","/actuator").permitAll()
                .antMatchers("/authenticate/**","/identity/**").permitAll().anyRequest().authenticated().and().cors().and()
                .exceptionHandling().and().sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
        httpSecurity.addFilterBefore(jwtRequestFilter,UsernamePasswordAuthenticationFilter.class);

    }

    @Override
    @Bean
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

web.xml

<session-config>
    <session-timeout>1</session-timeout>
</session-config>

我尝试了 sessionManagement().InvalidSessionURL("url") 但在登录时它总是只重定向到无效的 url。 没有用于登录的 api,我们直接从 React 加载。 请让我知道如何在会话超时时重定向登录页面?以及如何处理反应端的错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)