SecurityContext'e filtrelerle erişim sorunu
Karşılaştığım soruna gelen çözüm şu şekilde. Unutmayayım diye aynen yapıştırdım;SecurityContext nesneleri HTTP request’leri boyunca ThreadLocal’de tutuluyor. Request sonlanınca, ilgili SecurityContext ThreadLocal’den silinip bir sonra request’te tekrar ThreadLocal’e alınıyor. Bunun sebebi ise request’in sonlandığı thread’in, servlet container’in thread pool’una alınıp başka bir request’i ele alması ihtimali. Eski SecurityContext ThreadLocal’den silinmezse thread’de çalışan yeni request yanlış SecurityContext nesnesine erişir.
Spring Security filtrelerini kapattığım bir URL’e sahip sayfada, SecurityContext’e erişmeye çalıştım. Filtreler kapalı olduğundan SecurityContext nesnesine ThreadLocal’e alınmıyordu ve erişmeye çalıştığımda null dönüyordu. Buna dikkat etmek gerekiyor.
kaynak : http://www.basrikahveci.com/securitycontexte-ulasmak/
0 Yorum