2016-04-05 21 views
1

Temel kimlik doğrulamasıyla Tomcat'i kullanarak Jersey'de korları uygulamaya çalışıyorum. Kimlik Doğrulaması, veritabanının verilerini alan ve verilen kullanıcıyla ve geçişle karşılaştırılan bir bölge kullanılarak yapılandırılır.CORS Filtreleri, Jersey Kimlik Doğrulaması'nda Temel Kimlik Doğrulama ile nasıl çalışır?

Tüm kaynaklarım normalde çapraz kaynaklı HTTP isteği olmadan çalışıyor, Soapui ve kendim tarafından yapılan bir Android uygulamasını kullanarak test ettim. Sorun, jQuery ve ajax kullanarak REST web servisini kullanmaya çalıştığımda, herhangi bir kimlik doğrulama verisi olmadan bir Options preflight'ı gönderdiğinde ve sunucu 401 yetkisiz bir hatayla yanıt verirken sorun çıkarır.

ben takip yapmaya çalıştık:

*

tedavi için özel bir konteyner filtresi uygulayın cors istek ve hiçbir şey bunu. http://enable-cors.org sitesi tarafından önerildiği gibi catalina cors filtresini kullanın. Ve hiçbir şey.

* http://software.dzhuvinov.com/cors-filter.html tarafından geliştirilen cors filtresini kullanın. Hiçbir şey değil.

* WebFilter ek açıklamasını içeren ve içermeyen sunucu özelliklerinin filtresini kullanın ve hiçbir şey kullanmayın.

* @PermitAll ek açıklamasıyla seçenekler hizmetini oluşturun.

Tüm bu girişimlerde web.xml dosyasını da yapılandırdım. Tomcat 7.0.21, Jersey 2.22.2, Hazırda Beklet, MYSQL, JDK 7 ve Maven kullanıyorum.

Sanırım temel sorun şu ki, belki de OAuth 2.0'ı denemeliyim? Temel Auth ile kor işlerini yapmanın bir yolu var mı? Nasıl İşlem Yapılır?

1) sadece <web-app .. > etiketi

<filter> 
    <filter-name>CORS</filter-name> 
    <filter-class>com.thetransactioncompany.cors.CORSFilter</filter-class> 
</filter> 
<filter-mapping> 
     <filter-name>CORS</filter-name> 
     <url-pattern>/*</url-pattern> 
</filter-mapping> 

2 iç üst kısmına yakın senin web.xml bu kodu ekleyin:

+0

Olası kopyası: [JAX-RS'i Jersey ile nasıl ele alınır] (http://stackoverflow.com/questions/28065963/how-to-handle-cors-using-jax-rs-with-jersey) –

+0

ve: http://stackoverflow.com/questions/18499465/cors-and-http-basic-auth –

+0

Değil, çünkü bu çözümleri denedim önce ve daha önce söyledim, hiçbir etkisi yoktur. Sunucu hala seçenekler yöntemi için temel kimlik doğrulama isteğinde bulunuyor, bu yüzden erişim yetkilendirme üstbilgisini gönderdiğim ve filtreleri uygulayabildiğim bile, sunucu hala 401 hatası veriyor, çünkü ajax istemcisinden hiçbir yetkilendirme verisi gönderilmedi –

cevap

0

benim için çalıştı kolay yolu aşağıdakileri yapmanız oldu) pom.xml

<dependency> 
    <groupId>com.thetransactioncompany</groupId> 
    <artifactId>java-property-utils</artifactId> 
    <version>1.9.1</version> 
</dependency> 

<dependency> 
    <groupId>com.thetransactioncompany</groupId> 
    <artifactId>cors-filter</artifactId> 
    <version>1.9.1</version> 
</dependency> 
01 yılında maven üzerinden iki kitaplıkları içe

İyi şanslar!

İlgili konular