CORS ayarları yapmak için bir sürü seçenek var
2. Eğer Spring Security kullanıyorsak WebSecurityConfigurerAdapter sınıfının
void configure(HttpSecurity httpSecurity);
metodu kullanılır. HttpSecurity sınıfının cors() metodu, CorsConfigurer nesnesi döndürür.
Eğer ikisini bir arada kullanıyorsak Spring Security, Spring MVC ayarlarını kullanabilir. Açıklaması şöyle
If you are using Spring MVC’s CORS support, you can omit specifying the CorsConfigurationSource and Spring Security will leverage the CORS configuration provided to Spring MVC.
3. CorsConfigurationSource kullanılabilir. CorsConfigurationSource nesnesine CorsConfiguration parametresi geçilir. Ben bunu kullandım.
4. CorsFilter filtresi kullanılabilir. CorsFilter nesnesine CorsConfiguration parametresi geçilir.
5. @CrossOrigin anotasyonu kullanılabilir.
CORS Yarar?
Açıklaması şöyle. HTTP OPTIONS isteklerinin reddedilmemesini sağlar.
Açıklaması şöyle. HTTP OPTIONS isteklerinin reddedilmemesini sağlar.
We haven’t explicitly excluded the preflight requests from authorization in our Spring Security configuration. Remember that Spring Security secures all endpoints by default.Bu sınıfı kullanarak Http OPTIONS (yani preflight) isteklerinin SpringSecurity filtresine takılıp 401 hatası dönmesini engelleriz. OPTIONS isteğine verilecek cevabın içeriği CorsConfiguration sınıfı ile belirtilir. Şeklen şöyle
As a result, our API expects an authorization token in the OPTIONS request as well.
Spring provides an out of the box solution to exclude OPTIONS requests from authorization checks:
...
The cors() method will add the Spring-provided CorsFilter to the application context which in turn bypasses the authorization checks for OPTIONS requests.
Hiç yorum yok:
Yorum Gönder