3

ASP.NET MVC 3 で素敵なフォーム認証を実装しました。これは Chrome でうまく機能しています。今こそ、世界最悪のブラウザである Internet Explorer でのタイム テストです。ログインに移動しただけで、送信ボタンをクリックするたびにページがログインページに戻ります。資格情報は正しいです。コードをステップ実行しました。RedirectToAction をページに使用していますが、エラーのフラグは立てられず、ログイン ページに直接戻ります。

私は次のことを試したことを指摘する必要があります。

  • 削除された webmatrix dll と依存関係
  • System.Web.Helpersn を削除しました
  • これらは両方とも、VS2010 のビン、参照、および bin_deploayableAssemblies フォルダーから削除されています。

また、web.config appsettings に以下を追加しました。

<add key="enableSimpleMembership" value="false" />
<add key="autoFormsAuthentication" value="false" />
<add key="loginUrl" value="~/LoginReg/LogOn"/>

これが私の完全なweb.configです:

http://pastebin.com/t6cj6cSb

私のログイン ページは Login Reg というフォルダにあるので、URL は /LoginReg/LogOn になります。

これは chrome では完全に機能しますが、何らかの理由で Internet Explorer では機能しません。

この本当に厄介な問題を解決するためのアイデアや、役立つ記事を持っている人はいますか

ありがとう

4

3 に答える 3

1

フォーム認証は、要求間の認証状態を維持するために http Cookie を作成します。IE で Cookie が有効になっていることを確認してください。

于 2012-07-28T17:47:55.870 に答える
0

グローバル フィルターを FilterConfig.cs ファイルに追加することで問題を解決したソリューションを次に示します。

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
       filters.Add(new AuthorizeAttribute());
    }
}

ログインは、Internet Explorer と Microsoft Edge ブラウザーで完全に機能するようになりました。

于 2016-04-05T10:52:51.763 に答える