MVC .NET4 IE10下FormsAuthentication.SetAuthCookie无效的问题

最初的问题是网站在IE10下不兼容,使用兼容性代码:<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10">

让IE强制使用兼容模式,但是这种情况在有的电脑上没有管理员权限的时候是无效的,

即用IE打开了使用上面这段代码的页面后,按F12,

IE的模式还是IE模式,不是想要的IE10兼容模式。

在有管理员权限的电脑上,变成了IE10兼容模式,问题解决。

另外FormsAuthentication.SetAuthCookie无效的问题,在IE10兼容模式下OK,在IE10模式下无反应。

简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file)
步骤如下:
1.添加一个"App_Browsers"文件夹
2.添加一个"*.browser"后缀的文件,如IE10.browser.
3.添加文件内容如下:
<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>

FormsAuthentication.SetAuthCookie无效的问题得到解决,页面是IE10 模式。

当然还可以参考MS的文章:

在 IIS 上实现 META 切换

Microsoft IIS 能够定义自定义 HTTP 响应标头以便所有页面自动以 EmulateIE7 模式呈现

http://msdn.microsoft.com/zh-cn/library/cc817572.aspx

MVC .NET4 IE10下FormsAuthentication.SetAuthCookie无效的问题,布布扣,bubuko.com

时间: 2024-10-29 10:46:38

MVC .NET4 IE10下FormsAuthentication.SetAuthCookie无效的问题的相关文章

asp.net mvc 中[Authorize]在IE9以上版本关于FormsAuthentication.SetAuthCookie无效的问题 解决方案

简单的解决方法是,在网站根目录,新增一个浏览器定义文件(browser definition file) 叫“App_Browsers”文件夹,然后里面放一个“IE10.browser”文件即可,网站自动识别读取步骤如下: 1.添加一个"App_Browsers"文件夹 2.添加一个"*.browser"后缀的文件,如IE10.browser3.添加文件内容如下: <browsers> <browser refID="Default&qu

【记录】ASP.NET MVC 4/5 Authentication 身份验证无效

原文:[记录]ASP.NET MVC 4/5 Authentication 身份验证无效 在 ASP.NET MVC 4/5 应用程序发布的时候,遇到一个问题,在本应用程序中进行身份验证是可以,但不能和其他"二级域名"共享,在其他应用程序身份验证,不能和本应用程序共享,示例代码: System.Web.Security.FormsAuthentication.SetAuthCookie("蟋蟀", true); webconfig 配置如下: <system.

FormsAuthentication.SetAuthCookie

官方:http://technet.microsoft.com/zh-cn/magazine/twk5762b(VS.80).aspx 参考转载:http://www.360doc.com/content/13/0614/13/9316347_292797003.shtml 这两天在研究 Forms 进行用户验证, 它本身没有什么上msdn上查一下就知道怎么个搞法了! 不过我在测试的时候发现也会产生 了一些疑问! 1. 什么我在web.config 的 authentication节点下的 Fo

asp.net 登陆验证 Form表单验证的3种方式 FormsAuthentication.SetAuthCookie;FormsAuthentication.RedirectFromLoginPage;FormsAuthenticationTicket

我们在登陆成功后,使用下面的3种方法,都是同一个目的:创建身份验证票并将其附加到 Cookie, 当我们用Forms认证方式的时候,可以使用HttpContext.Current.User.Identity.IsAuthenticated  (或者也可以用 Request.IsAuthenticated ,这个实际上也是调用的是User.Identity.IsAuthenticated来验证)来判断是否登陆;而这个判断就是依赖于这个Cookie里的信息判断用户是否登陆. FormsAuthent

IE10-IE11在NET4.0下出现“__doPostBack未定义”解决方案

IE10在NET4.0下出现"__doPostBack未定义"的办法 参考文章: http://blogs.msdn.com/b/scott_hanselman/archive/2011/10/28/asp-net-ie10-dopostback-javascript-ff5.aspx 方法一.浏览器设置成兼容模式. 方法二.安装服务器版的.Net40的补丁. http://pan.baidu.com/s/1hqnCQ7U 包括适用于x86和x64 方法三.点击VisualSutdio

windows8.1操作系统cmd下grails命令无效

最近决定使用intellij idea工具来开发基于Grails框架的应用程序,,在安装好jdk 1.7以及配置好jdk和grails环境变量后进行grails测试,在win8.1的命令行窗口中输入以下命令发现无法创建应用程序: 图一 反复尝试,在win8.1的环境下无法像win7环境下正确创建一个application,最终找到的解决办法是: 不要首先输入grails命令后再输入create-app等命令,如果要创建grails application,那么cmd打开命令行窗口后直接输入gra

linux下Tomcat shutdown无效

问题: linux下关闭tomcat后,发现重启Tomcat后,端口号提示被占用, 原因: 这时可能是项目中的后台线程或者socket依然在运行把端口号占用, 解决办法: ①:可以输入命令:$netstat -pan|grep 2809 查看这个端口号的情况, 可以netstat -anp |grep 3306 找出这个端口号,再kill当前的PID进程 ②:通过iptables工具将该端口禁掉 iptables -A INPUT -p tcp --dport 111 -j DROP ③:关闭端

MVC开发模式下的用户角色权限控制

前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据库中,分别分配一个Id,这样,每个功能就都对应着一个Id. 2.在用户表中,每个用户都有一个用户角色(类似用户组)id 3.在角色表中,每个角色id都存放着他们自身角色所拥有的功能id的集合 然后在判断权限时,通过用户的角色Id获取相关功能id集合,然后判断当前访问的功能id是否在集合中,大致如此.

FormsAuthentication.SetAuthCookie 方法登录

FormsAuthentication.SetAuthCookie 方法,登录的原理. FormsAuthentication.SetAuthCookie 方法登录的过期时间. 登录相关阅读 asp.net 登陆验证 Form表单验证的3种方式 FormsAuthentication.SetAuthCookie: FormsAuthentication.RedirectFromLoginPage;FormsAuthenticationTicket