Spring Security – MongoDB – Thymeleaf Örnek Uygulama

Şu sıralar Spring Boot ile uygulama geliştirme üzerinde çalışıyorum. Özellikle XML konfigürasyonlarıyla devamlı vakit geçirdiğim için başlangıçta biraz garip geldi.”Neyi benim için yapıyor? Bağlantıları nasıl sağlıyor? Varsayılan(Default) ayarları nedir?” gibi sorular kafamı oldukça karıştırdı.Fakat takıldığın yerde gerekli arayüzleri implement ederek müdahale etme esnekliği konuyu kavramam konusunda oldukça yardımcı oldu.Spring Boot’un sunduğu hızlı geliştirme imkanı gerçekten çok etkileyici. Bunu belirtmeden geçemeyeceğim. Şuan Spring Security,Thymeleaf,Spring MVC,MongoDB kullanarak bir blog projesi yapıyorum. Her zaman yaptığım üzere çalışan en küçük kod parçasını yedeklemek açısından Github’ta paylaşıyorum. Burada da faydalı olması açısından açıklayacağım.Evet, bu kadar gevezelik yeter kodlara geçelim. Aşağıda pom.xml dosyamızı görüyoruz.Eğer kendi isteğinize... Devamını oku..

“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..