使用IE10登录,URL出现SessionId的解决办法
问题:用户登入之后,URL会出现一长串字符,类似SessionId,把这一长串字符删除之后重新进入页面,页面又会自动地跳转到登录页面,所以,应该是Session没记住用户已经登录的信息。
网站环境:
1、服务器端为Windows Server
2003,客户端用IE10以下版本登录不会出现此问题,只有用IE10登录会出现这问题。
2、如果服务器为Windows Server 2008,客户端用IE10也不会出现这个问题。
简单来说,这算是个 ASP.NET 2.0、3.5 与 4.0 的 Bugs,因为这两个版本无法识别 IE10 的
User-Agent 标头字串,所以无法正确识别用户端的 IE10 浏览器版本,因而导致 ASP.NET
特定功能失效,在这个例子中,出问题的地方在于 ASP.NET 以为浏览器不支持 Cookies 功能,所以 ASP.NET
将不处理任何与 Cookies 相关的代码!
以下是 IE10 的 User-Agent 标头字串:
User-Agent: Mozilla/5.0 (compatible;
MSIE 10.0
; Windows NT 6.2; Trident/6.0)
微软官方针对这个 Bug,发布了两个 Hotfix 专门用来解决这个问题,各位如果遇到一样的问题可以参考以下两篇 KB 说明:
KB2600088:
修补程序是可用于在 Microsoft.NET Framework 4.0 中的 ASP.NET
浏览器定义文件
KB2608565:
修补程序是可用于在 .NET Framework 3.5.1 中的 ASP.NET
浏览器定义文件
KB2600100:
修补程序是可用于在 .NET Framework 3.5 SP1 与 .NET Framework 2.0 SP2
中的 ASP.NET 浏览器定义文件
在此分享一个更简易的解决方法,只要在网站目录新增一个浏览器定义档 (browser definition file)
即可解决此问题,步骤如下:
1. 先在网站目录下新增一个 App_Browsers 文件夹
2. 新增一个文档名为 *.browser 的文件,例如:IE10Fix.browser,文件内容如下:
- <</span>browsers>
- <</span>browser refID="Default">
- <</span>capabilities>
- <</span>capability name="cookies" value="true" />
- <</span>capability name="ecmascriptversion" value="3.0" />
- </</span>capabilities>
- </</span>browser>
- </</span>browsers>
设定完成后,问题自然解决!
使用IE10登录,URL出现SessionId的解决办法的更多相关文章
- Tortoise-SVN 出现“unable to connect to a repository at url no element found”解决办法
安装要SVN server服务器后,建立自己的Repositories,创建自己的项目文件夹 如,https://xxxxxxxxxx.com:8443/ 安装Tortoise-svn进行设置目标链接 ...
- 电脑开机失败提示"用户配置文件服务登录失败"的三种解决办法
最近遇到这样一个怪现象,就是每次打开电脑输入密码,突然提示"User Profile Service 服务未能登录,无法加载用户配置文件",然后就没办法正常开机了,为什么会这样呢? ...
- url字符长度限制解决办法
前段时间,同事往系统上传相关文档,发现输入失败,找到了我了. 开始以为数据库字段属性问题,修改后未解决随调试系统,发现没有走到后台程序,发现 ajax没有传值,各种测试问题情况,后来同事发现是url字 ...
- ASP.NET项目与IE10、IE11不兼容的解决办法
1.解决办法 机器级别修复, 服务器所有ASP.NET程序受益 需要去微软下载对应asp.NET版本的修补程序 .NET 4 -http://support.microsoft.com/kb/2600 ...
- MySql无法远程登录以及IP被锁解决办法
授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;Query OK, 0 rows aff ...
- discuz2.5登录后台闪退的解决办法
今天突然发现discuz2.5论坛后台进不去,开始以为密码错了,但发现登录后也是闪退.我试着清除浏览器cookie,也换了其他浏览器也没有用,还是上网找找吧! discuz2.5进入后台闪退的原因: ...
- linux系统root用户登录提示“鉴定故障”的解决办法
同事第一次创建虚拟机,遇到此问题,此前我未曾遇到,搜索到的解决办法记录在此,以防之后忘记. 一.重启系统解决(搜索到的该解决办法较多):https://www.cnblogs.com/lippor/p ...
- 帝国cms7.5忘记登录密码以及多次登录失败被锁定终极解决办法
其实网上很多忘记登录密码的解决方法都是相对于7.5版本以下的,在7.5的版本里根本不适用,今天小编主要给大家说的是针对帝国cms7.5忘记登录密码正确的解决办法. 前提是你能登陆服务器: 一.忘记登录 ...
- cas单点登录用户名为中文的解决办法
当用户名为中文时,登录后返回的用户名乱码.解决这个问题只需要在客户端的CAS Validation Filter中添加下配置就行了. <init-param> <param-name ...
随机推荐
- Python之类型转换
函数 描述 int(x [,base]) 将x转换为一个整数 long(x [,base] ) 将x转换为一个长整数 float(x) 将x转换到一个浮点数 complex(real [,imag]) ...
- 3D--知识点1
三层架构 1.DAL(数据访问层)-->与数据库进行关联,对数据库进行增删改查操作2.BLL(业务逻辑层)-->负责加减乘除与或非操作,比如:用户注册3.UI/web(表示层) sqlse ...
- 常用字符串API
java.lang.string.1.0 1.char charAt(int index) 返回给定位置的代码单元. 2.int codePointAt(int index) 返回从给定位置开始或字 ...
- Part 17 Temporary tables in SQL Server
Temporary tables in SQL Server
- 北大ACM(POJ1013-Counterfeit Dollar)
Question:http://poj.org/problem?id=1013 问题点:排除+验证. Memory: 244K Time: 16MS Language: C++ Result: Acc ...
- 北大ACM(POJ1003-Hangover)
Question:http://poj.org/problem?id=1003问题点:水题. Memory: 220K Time: 0MS Language: C++ Result: Accepted ...
- Cisco模拟器使用和静态路由配置
一. 模拟器使用 网络拓扑图 1. 模拟器搭建环境及网络结构 2. 使用ios系统加载并配置 3. 加载3745ios后计算pc值以减小cpu的消耗 4. 然后使用CTRL+]+i得到最大的一个值(如 ...
- C#时间格式 tostring、toshortdatestring、toshorttimestring
在c#语言中的时间处理有几种方式: 首先获取当前时间:var date=new DateTime.Now; date.ToString()----2111-1-20 11:44:47 date.ToS ...
- 解析Path方法备忘
public static String parseDataPath(String dataPath){ StringBuilder parseBld = new StringBuilder(); L ...
- HashSet 读后感
HashSet实现Set,是一个不能重复元素的集合,内部使用HashMap实现.因此具有HashMap的特性,如不保证元素插入的顺序,线程不安全,允许null.HashSet的元素就是内部HashMa ...