使用IE10登录,URL出现SessionId的解决办法
2013-12-25 16:37
447 查看
问题:用户登入之后,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 标头字串:
MSIE 10.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,文件内容如下:
view plaincopy
to clipboardprint?
<</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>
设定完成后,问题自然解决!
网站环境:
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,文件内容如下:
view plaincopy
to clipboardprint?
<</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>
设定完成后,问题自然解决!
相关文章推荐
- 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法
- python使用urllib.urlretrieve时出现“IOError:[Errno 2] No such file or directory”解决办法
- 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法
- 使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法
- JS中使用window.open(url,..);开启新窗口时,传参url没有乱码,但是传到后台出现乱码 解决办法
- session共享解决办法 ------------------- JSESSIONID不能使用原因
- xp/2003访问网络共享不出现登录框的解决办法
- 使用ant时出现 Unable to locate tools.jar 解决办法
- hibernate3中出现 could not initialize proxy - no Session 错误的解决办法以及lazy load的介绍
- 使用sublime书写python代码时出现矩形框解决办法
- linux 环境oracle sqlplus下使用退格backspace回删出现^H的解决办法
- switch语句无法使用R.id.xxx的解决办法
- VC++6.0使用GDI++出现'ULONG_PTR'未定义和'token' 未定义的解决办法
- DbEntry.net使用时出现System.Data.SqlTypes.SqlNullValueException解决办法
- hadoop1.0.3下,系统中使用其它的帐号访问hadoop,出现Permission denied的解决办法
- Mac电脑使用出现的问题及解决办法
- windows使用git时出现:warning: LF will be replaced by CRLF的解决办法
- 升级10.12后使用CocoaPod出现-bash: pod: command not found 解决办法
- MAC电脑出现,QQ可以正常使用,浏览器显示无网络解决办法
- Android Studio使用第三方jar包时出现DuplicateFileException错误的解决办法