2016-09-13 9 views
1

WebAPIアプリケーションでは、カスタムCORSポリシーがhttp://www.asp.net/web-api/overview/security/enabling-cross-origin-requests-in-web-api#allowed-originsの説明に従って実装されていますが、発信元はカスタムセクションのweb.configファイルに設定されています。そして私はWebAPIにリクエストを送信する角度のあるクライアントアプリケーションを持っています。CORSプリフライトコールで次のGET/POST要求が発生しない

1)localhost URLを使用してアプリケーションを実行します。

は、私は2つのシナリオを試してみました。

2)コンピュータ名を使用してアプリケーションを実行します。

どちらの場合でも、私はweb.configファイルに含まれています。最初のケースではすべて正常に動作します。 2番目のCORSプリフライトリクエストは送信されますが、実際のGETまたはPOSTリクエストはありません。プリフライトの応答には、正しいヘッダーがあります。

Access-Control-Allow-Headers: content-type, custom-session-id 
Access-Control-Allow-Methods: GET, POST, PUT, PATCH, DELETE, OPTIONS 
Access-Control-Allow-Origin: http://computername 

何が間違っていますか?助けていただければ幸いです。

編集:シオマネキからのスクリーンショット:

enter image description here

+0

'OPTIONS'はプリフライトを続行するために' 200 OK'を返さなければなりません。 'Access-Control-Allow-Origin:*'が動作していれば、コンピュータ名の設定が間違っていることを確認してください。 – maurycy

+0

私は200状態。私は 'Access-Control-Allow-Origin:*'を試みましたが、問題は存在します。私は 'AllowAnyMethod'をtrueに設定し、' AllowAnyOrigin'も同様に設定しました。しかし、運がない。 – owczarek

+0

'OPTIONS'コールの実際のリクエストヘッダーとレスポンスヘッダーのスクリーンショットを追加できますか? – maurycy

答えて

0

私は解決策を見つけた:CorsPolicyオブジェクトで不足している設定がありました:SupportsCredentialsを設定する必要がありました。私は信任状を送っていなくても、私はまだこのフラグを設定する必要があるとは思わなかった。

関連する問題