web-dev-qa-db-ja.com

IE10 User-Agentにより、ASP.NetはSet-Cookieを返送しません(IE10はCookieを設定しません)

概要

ASP.Netは、IE 10の使用時に_Set-Cookie_ヘッダーを送り返しません。つまり、たとえば、フォーム認証の使用時にIE10を使用してASP.Netサイトにログインできないことを意味します。

詳細

現在、レガシーWebアプリの1つをIE 10 [Preview 2]に対してテストしています。

フォーム認証を使用してログインしようとすると、ユーザーエージェントがIE 10の場合、応答で_Set-Cookie_ヘッダーを取得しません。空白の.Netでこれを試しました。 2および.Net 4サイト。

信じられなかった/信じられなかったため、通常のツールをすべて使用した後、telnetを介して手動でHTTPリクエストを実行し、同じ応答を得ました。

_GET http://test.ourdomain.co.uk/ HTTP/1.1
Accept: */*
Host: test.ourdomain.co.uk
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
Content-Length: 0
_

上記のHTTP要求は、応答で_Set-Cookie_を返しません。それでも、User-AgentをMozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/6.0)に変更するだけで機能します!

誰でもこれを複製できますか? IE10 Cookieに関する既知の問題は、非標準のURLパターンに影響する問題以外は見つかりません。

ホットフィックス

devio が元の回答を投稿した後、回避策で nullptrhotfix for this があることを確認しました。

http://support.Microsoft.com/kb/2600088

今後の参考のためにホットフィックスを主な質問に昇格させましたが、言及したユーザーに賛成票を投じてください。

91
isNaN1247

MS Connect でこのエントリが見つかりました。動作は認識されているバグです。

推奨される回避策(エントリから):

==回避策==

それまでは動作させ、将来同様の問題を回避するために、ファイル〜\ App_Browsers\BrowserFile.browserを次のものとともに使用します。

<browsers>
<browser refID="Default">
<capabilities><!-- To avoid wrong detections of e.g. IE10 -->
<capability name="cookies" value="true" />
<capability name="ecmascriptversion" value="3.0" />
</capabilities>
</browser>
</browsers>
66
devio

問題は、IE10がCookieのないブラウザ(つまり、Cookieをサポートできない)と考えているいくつかのIISインスタンスにあります。この問題の場合、サーバーは認証Cookieを設定してブラウザに送り返していましたが、その後、後続のリクエストでクッキーを無視していました。

解決策は、IE10がCookieを実行できることをブラウザーの機能にパッチするか(このページの別の回答で概説)、またはブラウザーがCookieを実行できないと判断した場合でもCookieを使用するようにデフォルトの動作を変更することです。

Web.configのフォームセクションに次を追加しました。

cookieless = "UseCookies"

<authentication mode="Forms">
  <forms name=".AUTH" cookieless="UseCookies" loginUrl="/" timeout="10000" path="/" />
</authentication>
71
Dave Sumter

この問題に対して利用可能な修正プログラムがあります[1]。

1) http://support.Microsoft.com/kb/2600088
1) http://support.Microsoft.com/kb/2600217 (以前のKBを置き換えます)

また、[2]は、これが2012年1月にWindows Updateにヒットすることを示唆しています。

2) http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

33
Derek Slager

助けてくれてありがとう。うまくいきませんでした。

  1. site からC:\WINDOWS\Microsoft.net\Framework\v2.0.50727\CONFIG\Browsersにファイルをコピーしました

  2. コマンドプロンプトで実行C:\WINDOWS\Microsoft.net\Framework\v2.0.50727>aspnet_regbrowsers.exe -i

  3. IISを再起動します。

  4. サイトをテストし、エラーなしで動作します。

フィードバックをありがとう

3
user2191793

Nullptr回答の更新。

今日、Microsoft KB2600088をダウンロードしようとしました。電子メールでリンクを受け取った後、私はそれをクリックして、それがもう利用できないと言うページを導いた。

これを試してください: http://support.Microsoft.com/kb/2600217

このリンクは、KB2600088およびKB2628838の代替です。

Microsoft .Net Framework 4.5も利用可能になりました。

2
oski

誰もが言及し、何らかの理由で問題が解決されなかったさまざまなパッチをインストールしました。

.NET Framework 4.5 Fullをインストールすると、問題はなくなりました。

ターゲット4.5にプロジェクトを更新する必要はありません。サーバーにインストールするだけです。

0
Nate Cook