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