问题:用户登入之后,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,文件内容如下:

  1. <</span>browsers>
  2. <</span>browser refID="Default">
  3. <</span>capabilities>
  4. <</span>capability name="cookies" value="true" />
  5. <</span>capability name="ecmascriptversion" value="3.0" />
  6. </</span>capabilities>
  7. </</span>browser>
  8. </</span>browsers>

设定完成后,问题自然解决!

使用IE10登录,URL出现SessionId的解决办法的更多相关文章

  1. Tortoise-SVN 出现“unable to connect to a repository at url no element found”解决办法

    安装要SVN server服务器后,建立自己的Repositories,创建自己的项目文件夹 如,https://xxxxxxxxxx.com:8443/ 安装Tortoise-svn进行设置目标链接 ...

  2. 电脑开机失败提示"用户配置文件服务登录失败"的三种解决办法

    最近遇到这样一个怪现象,就是每次打开电脑输入密码,突然提示"User Profile Service 服务未能登录,无法加载用户配置文件",然后就没办法正常开机了,为什么会这样呢? ...

  3. url字符长度限制解决办法

    前段时间,同事往系统上传相关文档,发现输入失败,找到了我了. 开始以为数据库字段属性问题,修改后未解决随调试系统,发现没有走到后台程序,发现 ajax没有传值,各种测试问题情况,后来同事发现是url字 ...

  4. ASP.NET项目与IE10、IE11不兼容的解决办法

    1.解决办法 机器级别修复, 服务器所有ASP.NET程序受益 需要去微软下载对应asp.NET版本的修补程序 .NET 4 -http://support.microsoft.com/kb/2600 ...

  5. MySql无法远程登录以及IP被锁解决办法

    授权 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;Query OK, 0 rows aff ...

  6. discuz2.5登录后台闪退的解决办法

    今天突然发现discuz2.5论坛后台进不去,开始以为密码错了,但发现登录后也是闪退.我试着清除浏览器cookie,也换了其他浏览器也没有用,还是上网找找吧! discuz2.5进入后台闪退的原因: ...

  7. linux系统root用户登录提示“鉴定故障”的解决办法

    同事第一次创建虚拟机,遇到此问题,此前我未曾遇到,搜索到的解决办法记录在此,以防之后忘记. 一.重启系统解决(搜索到的该解决办法较多):https://www.cnblogs.com/lippor/p ...

  8. 帝国cms7.5忘记登录密码以及多次登录失败被锁定终极解决办法

    其实网上很多忘记登录密码的解决方法都是相对于7.5版本以下的,在7.5的版本里根本不适用,今天小编主要给大家说的是针对帝国cms7.5忘记登录密码正确的解决办法. 前提是你能登陆服务器: 一.忘记登录 ...

  9. cas单点登录用户名为中文的解决办法

    当用户名为中文时,登录后返回的用户名乱码.解决这个问题只需要在客户端的CAS Validation Filter中添加下配置就行了. <init-param> <param-name ...

随机推荐

  1. 新颖的O2O商业模式,江水平和他的装修队

    文/秦刚 江水平是我微信上的朋友,有一天他给我留言说,秦刚老师我觉得你应该采访我,因为我的商业模式非常新颖有趣,应该能够给很多创业者启发. 我让江水平把他的商业模式写给我,他效率很高,一天就写好给我了 ...

  2. CSS标签知识

    一.内联标签和块标签的区别 内联,内嵌,行内属性标签: 1.默认同行可以继续跟同类型标签: 2.内容撑开宽度 3.不支持宽高 4.不支持上下的margin和padding 5.代码换行被解析 块属性标 ...

  3. Document.getElementById 与 $('#id')的区别

    一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天才发现并不是这么一回事,通过测 ...

  4. WebService 的创建,部署和使用

    WebService,即Web服务,能使得运行在不同机器上的不同应用无须借助,专门的第三方软件或硬件,就可相互交换数据或集成. 第一次选择WebService,是为了替代数据库远程连接.我们都知道当S ...

  5. dropdownlist分页

    <div class="new-paging" id=""> <div class="new-tbl-type"> ...

  6. oracle删除字段时候判断字段是否存在

    declare v_count number; begin ) into v_count from all_tab_columns a where a.TABLE_NAME = 'XXX1' and ...

  7. 20150410---GridView分页(备忘)

    GridView自带分页功能,但是模板单一,试用较少数据. AllowPaging="true" PageSize="10" 启用分页设置.默认每页数量为10 ...

  8. python基础:搜索路径

    如何将写好的脚本或者是模块加入python的搜索路径? >>>import sys >>> sys.path ['', '/Library/Frameworks/P ...

  9. 8款强大的CSS3/HTML5动画及应用源码

    1.CSS3 jQuery UI控制滑杆插件 今天我们要来分享一款基于CSS3和jQuery UI的控制滑杆插件,这款控制滑杆是在HTML5滑杆元素的基础上进行自定义CSS3渲染,所以外观更加漂亮.另 ...

  10. IPv6协议介绍

    IPv6是为了解决基于IPv4的TCP/IP协议簇遇到的问题而推出的下一代IP协议.由于IPv4中采用的编制方式使得可用的网络地址和主机地址的数目远低于理论数目,随着全球互联网的快速发展,现有的IPv ...