C# MVC 3表单身份验证在Internet Explorer中不起作用,将继续重定向到登录页面

C# MVC 3表单身份验证在Internet Explorer中不起作用,将继续重定向到登录页面,c#,asp.net-mvc-3,internet-explorer,forms-authentication,C#,Asp.net Mvc 3,Internet Explorer,Forms Authentication,我在ASP.NET MVC 3中实现了一些可爱的表单身份验证,这在Chrome中运行得非常好。现在是对世界上最差的浏览器Internet Explorer的时间测试。我只是简单地登录,每次单击submit按钮,页面就会返回到登录页面。凭据是正确的。我已经完成了代码,我正在使用一个重定向到一个页面的操作,没有错误被标记,它直接返回到登录页面 我应该指出,我尝试了以下几点: 已删除webmatrix DLL和依赖项 已删除System.Web.Helpersn 这些都已从垃圾箱、参考和 VS201

我在ASP.NET MVC 3中实现了一些可爱的表单身份验证,这在Chrome中运行得非常好。现在是对世界上最差的浏览器Internet Explorer的时间测试。我只是简单地登录,每次单击submit按钮,页面就会返回到登录页面。凭据是正确的。我已经完成了代码,我正在使用一个重定向到一个页面的操作,没有错误被标记,它直接返回到登录页面

我应该指出,我尝试了以下几点:

  • 已删除webmatrix DLL和依赖项
  • 已删除System.Web.Helpersn
  • 这些都已从垃圾箱、参考和 VS2010中的bin_deployableassemblies文件夹
我还将以下内容添加到web.config appsettings:

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

我应该指出我的登录页面位于一个名为:login Reg的文件夹中,所以url应该是/LoginReg/LogOn

这在chrome中非常有效,但由于某些原因,在Internet Explorer中不起作用

有没有人有什么想法来解决这个非常烦人的问题,或者有什么有用的文章


感谢

表单身份验证创建一个http cookie来维护请求之间的身份验证状态。请确保您在IE中启用了Cookie。

我发现了一个奇怪的解决方案,在我的情况下,我有一个MVC3解决方案,当然我的问题与原始帖子相同, 我所做的很奇怪:

  • 我将LogOn get/post方法重命名为
    LoginPageView
  • 当然,我为
    LoginPageView
    控制器操作创建了相应的视图

    [HttpGet]
    public ActionResult LoginPageView()
    {
        return View();
    }
    
  • 我运行并可以重定向到解决方案上的任何其他控制器操作,当然要注意我需要的方法上的
    [Authorize]
    或notauthorize属性

  • 问题解决了


  • 以下是通过向FilterConfig.cs文件添加全局筛选器解决我的问题的解决方案

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

    现在,登录可以与Internet explorer和Microsoft Edge浏览器完美配合。

    IE中是否启用了Cookie?我刚刚查看了我的设置,猜猜是什么…“阻止所有Cookie”!!!!!!!!!今天是星期五,开发者不应该工作超过4点!!非常感谢。最好的答案总是最简单的,请将您的评论作为答案,这样它就可以得到一个勾号!:)我知道有一种倾向,你发现IE的每一个问题都想责怪IE,但事实上,95%的时间都不是IE的错,正如你在本例中发现的那样。IE肯定有它的问题,但那大部分是过去的事了,只要你不需要支持IE6(而且,由于不到2%的人口,大部分在中国,仍然在使用它,没有什么理由再支持IE6了)