0

アプリケーションサーバーにダイジェスト認証を実装しています。クライアントでgethttpリクエストを実行すると、サーバーはWWW-Authenticateヘッダーを返します。このヘッダーは、javascriptでダイジェストチャレンジを実行し、サーバーに送信します。CORSでテストしているので、すべて問題ありません。サーバーとクライアントは同じオリジンではありません(Allowヘッダーを持つすべてのポリシーは問題なく実行されています)。しかし、私の問題は、同一生成元コンテキストでテストする場合です。ブラウザはサーバーの応答をキャッチし、通常のログインウィンドウを表示しますが、ブラウザにそれを実行させたくありません。

同じ起源でブラウザがそれをキャッチしてウィンドウをペイントする理由を誰もが知っていますか?どういうわけか避けますか?

4

1 に答える 1

0

このリンクのように、問題には適切な解決策がありません。おそらく、ブラウザがキャッチせず、ウィンドウをポップアップ表示しない 401 の無許可のコードを変更します。

このリンクには code.google に関する議論があり、xhr.mozBackgroundRequest = true を使用した firefox の解決策について話していますが、Chrome には解決策がありません。

401 を別のコードに変更するか、WWW-Authenticate ヘッダーを別のカスタム ヘッダーに変更します。

于 2012-07-26T09:44:42.790 に答える