2016-12-18 6 views
1

角度2.0アプリケーションは、残りのサーバーと対話しようとしてCORSの問題の下になっている(アクセスコントロールは、Originは、「(null)を」と一致しませdoens許可) enter image description hereクロスオリジン・リクエストブロックされた:同一生成元ポリシーは、リモートリソースを読んで不許可に

私は(クライアントが3000ポート上で、サーバーが8080である)、それはローカルで アクセス制御 - 取得しておりません、正常に動作しているローカルで展開する場合

以下は私のCORSFilter実装

response.setHeader("Access-Control-Allow-Origin", "http://localhost:3000"); 
     response.setHeader("Access-Control-Allow-Methods", request.getMethod()); 
     response.setHeader("Access-Control-Allow-Credentials", "true"); 
     response.setHeader("Access-Control-Max-Age", "3600"); 
     response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers")); 

     if ("OPTIONS".equalsIgnoreCase(request.getMethod())) { 
      response.setStatus(HttpServletResponse.SC_OK); 
     } else { 
      chain.doFilter(req, res); 
     } 

驚くべきことに、同じwarファイルであります許可資格およびaccess-control-expose-headersここで、サーバーに展開する場合と同様に、これらのヘッダーとCORSの問題が発生しています。

UPDATE:私たちは別のサーバにデプロイですhttp://

+0

'response.setHeader( "アクセス制御 - 許可 - 起源" を、 "のhttp:// localhostを:3000")を見て、' それはサーバーで同じですか? – chaoluo

+0

http://ローカルホスト:3000はクライアントアプリケーションがデプロイされた場所、サーバーはhttps://test.comにあります –

+0

解決しましたか?私は同じ問題に直面しています。 – Thirumal

答えて

0

変更アクセス制御 - 許可 - 起源

response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); 
を://アプリケーションは、それがhttpsでエラーを投げているとおりであり、正常に動作しています

そして、すべてのHttpMethod.OPTIONS要求を許可します。詳細については

ラメシュ・kotha @
@Override 
protected void configure(HttpSecurity http) throws Exception { 
    //http.csrf().disable(); 
    http 
     .csrf().disable() 
     .httpBasic().and() 
     .authorizeRequests() 
      .antMatchers(HttpMethod.OPTIONS, "/**").permitAll() 
      .anyRequest().authenticated() 
      //.and().requiresChannel().anyRequest().requiresSecure() 
      .and().httpBasic().authenticationEntryPoint(customBasicAuthenticationEntryPoint) 

      .and().addFilter(basicAuthenticationFilter(super.authenticationManagerBean())); 
} 

CORS OPTION and GET

+0

ありがとう、チェックしてお知らせください! –

関連する問題