Я использую Spring Boot, Spring MVC и Spring Security. Я добавил авторизацию JWT, поэтому мне нужно, чтобы в моем сеансе не было состояния, поэтому я добавил соответствующий параметр в свою конфигурацию безопасности:
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
Но когда я делаю запрос к своему приложению, я получаю JSESSIONID в виде cookie. Я попытался решить проблему, добавив этот код в мой фильтр jwt:
Cookie[] cookies = httpServletRequest.getCookies();
if(cookies!=null)
for (int i = 0; i < cookies.length; i++) {
cookies[i].setMaxAge(0);
httpServletResponse.addCookie(cookies[i]);
}
Но это не помогло, так как его окончательно удалить ??
Мой полный код безопасности:
@Override
public void configure(HttpSecurity http) throws Exception {
http.csrf().disable();
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);
http.authorizeRequests()
.antMatchers("/user/login").permitAll().antMatchers("/user/get/**").hasRole(Role.BOT.toString()).antMatchers("/", "/login**","/callback/", "/webjars/**", "/error**")
.permitAll().anyRequest().authenticated();
http.apply(new JwtFilterConfiguer(provider));
}