Spring Securityを導入した環境でセッションタイムアウト後にアクセスしようとすると以下のエラーが発生する
これはSpring SecurityのCSRF対策でCSRFトークンチェックをする際にCSRFトークンの保存先としてHttpセッションを使用しているために発生する。
これを防ぐためには、以下のコードのようにinvalueSessionUrl()にセッションタイムアウト時の遷移先を指定することで可能。
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.sessionManagement().invalidSessionUrl("/timeout");
}
}