2013-04-16 26 views
5

Web servislerimi çalıştırmak için bir jetty sunucum var. Son zamanlarda web servisini tüketmek için bir program geliştirdim ve Access-Control-Allow-Origin sorunuyla karşılaştı.Jetty sunucusuna Erişim Denetimine İzin Verme Menüsü ekleme

Access-Control-Allow-Origin: * 'i bir iskele yerleştirilmiş sunucusuna nasıl ekleyebilirim?

, webappcontext kodudur.

public WebAppContext buildWebAppContext(){ 
    webAppContext = new WebAppContext(); 
    webAppContext.setDescriptor(webAppContext + "/WEB-INF/web.xml"); 
    webAppContext.setResourceBase("."); 
    webAppContext.setContextPath("/posApplication"); 
    webAppContext.setAttribute("webContext", webAppContext); 
    return webAppContext; 
} 

Teşekkür ederiz.

cevap

11

Web uygulamanıza org.eclipse.jetty.servlets.CrossOriginFilter'u kurun. konu üzerine

Eski soru/cevap: https://stackoverflow.com/a/8454168/775715

Bkz İskelesi Documentation HubCrossOriginFilter Use tarih:

Hızlı Başlangıç ​​

  1. Kendine jetty-servlets.jar bir kopyasını tut. Bu sorun krom/krom tarayıcıda bir uzantısı kullanmaktır CORS için

  2. sizin WEB-INF/web.xml

<filter> 
    <filter-name>cross-origin</filter-name> 
    <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class> 
    <init-param> 
     <param-name>allowedOrigins</param-name> 
     <param-value>*</param-value> 
    </init-param> 
    <init-param> 
     <param-name>allowedMethods</param-name> 
     <param-value>GET,POST,HEAD</param-value> 
    </init-param> 
    <init-param> 
     <param-name>allowedHeaders</param-name> 
     <param-value>X-Requested-With,Content-Type,Accept,Origin</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>cross-origin</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
+0

Başlıklar için "*" gibi joker karakterlere izin verilmediğini unutmayın. Çalışması için başlıkların bir listesini açıkça belirtmem gerekiyordu. Bağladığınız sorudaki katil7'nin yanıtını görün. – black666

+0

Bu cevap 2013 yılının Nisan ayında geri döndüğünde, doğruydu. O zamandan beri işler değişti. –

+0

@JoakimErdfelt Lütfen beni doğru bir çözüme bağlayabilir misiniz? bu benim için çalışmıyor –

İlgili konular