“Expected CSRF token not found. Has your session expired?” hatası ve çözümü

Spring Security ve Thymeleaf kullanarak bir proje geliştirirken takıldığım bir hatanın çözümünü paylaşıyorum.Öncelikle CSRF nedir ve neden kullanmalıyız buna değinelim. CSRF uzun haliyle Cross Site Request Forgery demektir. Kısaca formdan gelen verilerin bizim uygulamamız dışından gelmesini engelleme mekanizmasıdır.CSRF anahtarı otomatik olarak üretilir.Spring Security bize böyle bir kolaylık sağlıyor.Spring Boot’ta ise bu varsayılan olarak gelmektedir. Tek yapmamız gereken view katmanı yani thymeleaf dosyamızda form etiketinin içerisine aşağıdaki kodu eklemektir. _csrf değişkeni CsrfToken nesnesini barındırır.${_csrf.parameterName} komutu _csrf nesnesinin getParameter() methodunu çağırır ve bu varsayılan olarak _csrf’dir.${_csrf.token} komutu ise getToken() methodunu çağırır ve bu asıl anahtarımızdır. Devam edelim… Eğer Spring Security konfigürasyonu için XML yerine Java kullanıyorsak CSRF’nin... Devamını oku..