ログイン後にサーバーからリダイレクトを発行する場合、次を使用します。
return Redirect("/Some/Location");
これは、iPad の Chrome Mobile を除くすべてのブラウザで完全に機能します。このブラウザの場合、リダイレクトに対する応答の Location は次の形式です。
Location: /(F(kE-dzlf...lots of random characters))/Some/Location
問題は、なぜこのランダムな文字列がサーバーから返されるリダイレクト URL に追加されるのかということです。
残念ながら、さまざまなルーティングの問題により、これはアプリケーションに深刻な問題を引き起こします。
さらに調査した結果、Windows のデスクトップ Chrome を使用し、ブラウザのユーザー エージェントを iPad の Chrome Mobile と同じようにスプーフィングすることで、同じ問題を再現できることがわかりました。
Mozilla/5.0 (iPad; CPU OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) CriOS/27.0.1453.10 Mobile/10B329 Safari/8536.25
MVC サーバー上の特定のユーザー エージェント文字列で奇妙な動作が発生しているようです。上記の文字列のさまざまな部分文字列でさえ、同じ動作を生成します。
これはおそらくある種の Cookie 受け渡し方法であると推測していますが、確かではありません。
ありがとう。
編集: この問題の解決策は、次の場所にあります: Asp.Net Forms Authentication when using iPhone UIWebView