今天发现猎豹浏览器的一个大坑 Request.IsAuthenticated 一直为 false;另外附加原因以及临时的解决方法
今天掉到了一个大坑里面,爬了1个多小时才发现不是代码的问题,居然是浏览器的问题… 下面是问题的发生过程
单点登陆 有2个站点 http://a.abc.com http://b.abc.com
登陆后从a跳转到b,结果在b网站能获取到在a站点登陆的cookie的值,但是 b站点里面判断是否登陆用的 Request.IsAuthenticated 的值一直是false,也就是表示在B站点,是没有登陆的.

调试了1个多小时,能想到的单点登陆的问题都想到了,还是不行.
后面用同事的电脑调试了一下,他的就是正常的 Request.IsAuthenticated 为true, 一看他的浏览器是火狐
于是我也用火狐,IE9, 360(极速和IE模式)都测试了一下,结果都是正常的为true ,如下图所示

就只有这坑爹的猎豹浏览器返回的是个false
无力吐槽…1个多小时啊,居然是因为浏览器的问题 我记得以前用腾讯的TT浏览器也有一个 javascript的坑……
PS:在我昨天下午跑到猎豹论坛提交了以上的bug之后,猎豹的工程师今天早上主动联系了我,并且和我分析了错误产生的大概原因,以及临时的解决方法,听我一一道来
产生原因:因为我是单点登陆,也就是在A网登陆之后,是要跳转到B网站的,在这跳转的过程中,可能发生了 核心的切换 ,比如你浏览器设置的是IE模式,那么可能从IE兼容模式,切换到了 极速模式,然后又从极速模式,切换到了IE模式这样,于是cookie就这么丢了(但是为嘛又能读取到cookie的值呢?).于是 Request.IsAuthenticated 就是false了
临时解决方法:找到桌面的猎豹浏览器,右键属性,我们发现默认的是如下所示

猎豹的工程师,让我将最后的几个文字修改成如下所示 --dflag=1 表示锁定浏览器为IE兼容模式 --dflag=2 表示锁定浏览器为 极速模式

我现在先设置为IE兼容模式,然后继续调试一下我昨天的站点,
发现数据居然正常了.

然后我设置为 –dflag=2 锁定浏览器为极速模式,也正常. 但是在锁定为极速模式的时候,浏览器的提示还是为IE兼容模式

猎豹的工程师讲,当我们手动在猎豹的快捷后面加参数调试,用参数锁定后 显示的内容就不准了
ok 到此为止,算是有了临时的解决方案了. 速度还是蛮快的,昨天提交,今天就解答了,很满意.顺便我也提了一下我的另外一个建议,当用猎豹浏览器添加收藏的时候,那个弹出来的方框真的是小啊,如果像我这样有几十个收藏夹的,就真的觉得很麻烦.

工程师说会反馈上去,期待下一个版本的更新.
今天发现猎豹浏览器的一个大坑 Request.IsAuthenticated 一直为 false;另外附加原因以及临时的解决方法的更多相关文章
- URL传递中文参数,大坑一枚,Windows与Linux效果竟然不一致(两种解决方法)
下午,计划2个小时搞定,个人官网第6次升级,就可以干点轻松的事了,结果,下午多搞了2个小时,晚上又搞了2个小时,才搞定. 最后一个世界难题是,URL传递中文参数. 问题大致是这么出现的:我为" ...
- 使用TarOutputStream出现 request to write '1024' bytes exceeds size in header错误的解决方法
因为测试流程中,所测客户端会根据服务器A返回的response决定发送给服务器B的请求里各参数的值,所以现在需要模拟服务器的响应.而这个项目服务器A的响应式返回一个流,一个GZIP压缩格式流,压缩的是 ...
- 关于 客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”的解决方法
http://www.cnblogs.com/jams742003/archive/2008/10/30/1322761.html 请求web服务时,会有如题的异常出现,解决方法如下: 1 检查web ...
- 小程序发送 request请求失败 提示不在合法域名列表中的解决方法
可以在小程序开发工具中设置不校验域名.
- Request.IsAuthenticated
Original question that the answer below refers to: I have a forms based application that is giving m ...
- How does Request.IsAuthenticated work?
How does Request.IsAuthenticated work? MSDN Code Sample Description: The following code example uses ...
- MVC Request.IsAuthenticated一直false Request.Cookie获取不到cookie
项目中,在做登录验证时,用到了cookie,同一账户登陆,可以.切换其他账号时,就在也登录不上了,用原来的也不行.检查Request.IsAuthenticated一直false,而且Request. ...
- ambari关于ranger的一个大坑----端口永远是3306,需要手动修改
ambari关于ranger的一个大坑----端口永远是3306 这个坑是我在搭建ambari环境的时候发现的,我并没有找到原因,求助同事,然后一步步循着蛛丝马迹和试探,终于解决了,然而也揭露了amb ...
- 我靠!Semaphore里面居然有这么一个大坑!
这是why的第 59 篇原创文章 荒腔走板 大家好,我是why哥 ,欢迎来到我连续周更优质原创文章的第 59 篇. 上周写了一篇文章,一不小心戳到了大家的爽点,其中一个转载我文章的大号,阅读量居然突破 ...
随机推荐
- iOS富文本-NSAttributedString简单封装
直接调用系统的写起来比较麻烦,封装一下 因为要简单所以就写类方法 WJAttributeStyle 基类 ) { ; i < styles.count; i ++) { ...
- App接口设计
关于APP接口设计 http://blog.csdn.net/gebitan505/article/details/37924711/
- 20款最受欢迎的HTML5游戏引擎收集
在“最火HTML5 JavaScript游戏引擎”系列文章国外篇(一)中,我们盘点了当下备受开发者推崇的非国产HTML5和JavaScript游戏引擎.在各种2D小游戏逆袭的今天,用HTML5和Jav ...
- SQL server 为多个表添加新的列
作为一名.NET未入门的程序员,第一次发随笔. 前不久参与写的公司业务程序,目前这个程序的后期维护修复漏洞工作由我来负责.由于业务关系重大,每一步对程序代码的操作都非常谨慎,一旦操作失误,造成的损失和 ...
- [RM HA4] RM状态存储与还原原理详解
RM状态存储与还原机制详解 转载请注明原始链接http://www.cnblogs.com/shenh062326/p/3562199.html. 摘要 本文基于Apache Hadoop社区最新re ...
- lintcode:背包问题
背包问题 在n个物品中挑选若干物品装入背包,最多能装多满?假设背包的大小为m,每个物品的大小为A[i] 样例 如果有4个物品[2, 3, 5, 7] 如果背包的大小为,可以选择的空间. 如果背包的大小 ...
- lintcode : 跳跃游戏
跳跃游戏 给出一个非负整数数组,你最初定位在数组的第一个位置. 数组中的每个元素代表你在那个位置可以跳跃的最大长度. 判断你是否能到达数组的最后一个位置. 样例 A = [2,3,1,1,4],返回 ...
- JSON 与JAVA对象之间的转换(转)
JSON与XML两者目前在数据交互方面都有很高的使用率,随着现在SOA的兴起,异构系统的整合地位相应提高,本篇文章主要介绍JSON与JAVA对象之间的相互转换. 一.对普通类型的JSON模式的转换 一 ...
- 15 things to talk about in a healthy relationship
15 things to talk about in a healthy relationship男女交往中可以谈论的15个话题 1. Your Daily Activities 1. 你的日常活动 ...
- Android 核心分析之十三Android GWES之Android窗口管理
Android GWES之Android窗口管理1基本构架原理 Android的窗口管理是C/S模式的.Android中的Window是表示Top Level等顶级窗口的概念.DecorView是Wi ...