今天发现猎豹浏览器的一个大坑 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 篇. 上周写了一篇文章,一不小心戳到了大家的爽点,其中一个转载我文章的大号,阅读量居然突破 ...
随机推荐
- list<T> 自定义比较器进行排序
今天在研究List<T> 集合如何排序,我试过很多,但是都不行,然后看到msdn中的这个比较器排序,自己测试了代码,No Problem.给大家分享一下. 类型 T 的默认比较器按如下方式 ...
- NodeJS介绍
1.概述: Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用.Node.j ...
- 用C语言代码判别CPU的大小端模式
Big-endian和little-endian是描述排列存储在计算机内存里的字节序列的术语. Big-endian是一种大值的一端(序列中更典型值)存在前面(在最小的存储地址)的顺序. ...
- Include Native *.so Library in APK With Android Studio
Originally posted on:http://www.kylethielk.com/blog/include-native-so-library-in-apk-with-android-st ...
- Zabbix监控解决方案
思通运维监控主要用来监控IT 基础设施组件的可用性和性能.监控项目是不受限制的,并且可以对IT 基础设施健康状态进行复杂分析.通过确定IT 系统问题的“来源”,使用户快速响应故障来降低宕机成本. 网络 ...
- SpringMVC + MyBatis 环境搭建(转)
本文转自:http://blog.csdn.net/zoutongyuan/article/details/41379851 源码地址:https://github.com/starzou/quick ...
- Java:多线程
创建线程的方式有两种: 第一种:使用线程类Thread或者继承它的子类创建线程对象 第二种:定义接口类实现接口Runnable创建线程对象 多线程的好处:可以整合资源,提高系统资源的利用率 多线程中提 ...
- Pipeline aborted due to error
报错内容 x. Pipeline aborted due to error {:exception=>"LogStash::ConfigurationError", ... ...
- Control character in cookie value, consider BASE64 encoding your value
这是因为你给Cookie设置了中文的value,比如Cookie c = new Cookie("user", "张三");
- ubuntu12.10升级至14.04
之前执行apt-get 不管是什么软件或apt-get update都会遇到fail to fetch http://us.archive.ubuntu.com quantal-updates/mai ...