公司的产品,采用多服务分摊压力,中间必须涉及的当然是单点登陆。一般的单点登陆都是通过去用户中心登陆,302或页面回调的方式,返回到登陆前的页面。

公司项目,想用户体验更好些,采用弹框登陆,可以考虑iframe或者form提交方式。iframe需要解决跨域通信的问题,当然也是有解决方案的。form提交的话,就存在用户名密码错误提示,还是需要在用户中心处理。

最后选择了jsonp的方案跨域提交,这也有一些问题,安全方面用户名密码get方式传递,可以考虑加入签名,防止原始密码泄漏。

在使用jsonp方式登陆的时候,测试反馈,IE没有办法登陆,其他浏览器却是可以。第一反应就是第三方设置cookie失效,以前其实也是遇到过的。在需要设置cookie的第3方站点,设置p3p header头。

  response().addHeader("P3P", "CP=/"IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA/"");

  教主文章的提到的简约方式,没有试。

(蜗牛做广告系统的时候,也有人反应说是,那时候用的自己的跨域通信,一开始是以为window.name导致的问题,后来突然想起了,最近才看的教主的文章,原来是浏览器安全问题,需要设置p3p。)

IE 第三方设置cookie失效的更多相关文章

  1. 被@ResponseBoby注释的方法在拦截器的posthandle方法中设置cookie失效的问题

    文章标题可能有点绕口.先来解释下遇到的问题. 我写了一个拦截器,希望能够实现保存特定方法的请求参数到cookie中. public class SaveParamInterceptor extends ...

  2. jquery 删除cookie失效的解决方法

    最近在做网站退出功能的时候出现删除Cookie 的时候总是失效. 1.使用$.cookie("name","");  结果出来是生成了一个新的空值的cookie ...

  3. php设置cookie,在js中如何获取

    在php中设置cookie. $email="abc@163.com"; setcookie("y_email",$email,time()+3600,&quo ...

  4. js设置cookie过期及清除浏览器对应名称的cookie

    js设置cookie过期也就相当于清除浏览器对应名称的cookie的例子. 代码: function ClearCookie() {  var expires = new Date();  expir ...

  5. CEF 设置Cookie

    参考文档:http://magpcss.org/ceforum/apidocs3/projects/(default)/CefCookieManager.html 转载:https://www.cnb ...

  6. 写入与读取第三方的 cookie - P3P: CP="CAO PSA OUR"

    应用的场景是这样: 在 a.com 页面显示一个 来自b.com的一张图片 a.com/test.html 的内容: <img src=b.com/a.jpg> 但需求是,当用户访问 b. ...

  7. flask设置cookie,设置session,模拟用户认证、模拟管理后台admin、模拟用户logout

    设置cookie HTTP协议是无状态的,在一次请求响应结束后,服务器不会留下关于客户端状态的信息.但是对于某些web程序来说,客户端的信息有必要被记住,比如用户的登录状态,这样就可以根据用户的状态来 ...

  8. cookie操作:设置cookie、读取cookie、删除cookie

    一.设置cookie function setCookie(name, value){ Days = 1; var exp = new Date(); exp.setTime(exp.getTime( ...

  9. PHP如何清除COOKIE?PHP无法删除COOKIE?设置COOKIE有效期、COOKIE过期

    cookie和session的区别? http://www.cnblogs.com/phphuaibei/archive/2011/11/15/2250082.html PHP如何清除COOKIE?P ...

随机推荐

  1. js判断的执行顺序

    js预编译是对每一个<script>标签片段进行的.预编译声明所有var变量(初始为undefined),解析定义式函数语句. 还有个关于 "window作用域下,a = 1和v ...

  2. Fiddler使用教程(收藏)

    Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据. 使用Fiddler无论对开发还是测试来说,都有很大 ...

  3. 替换Gravatar头像默认服务器

    这几天Gravatar头像服务器应该集体被墙了,头像无法显示.兵来将挡,水来土掩,上有政策,下有对策,和谐社会靠大家,哈. 利用多说Gravatar头像中转服务器替代头像默认服务器. 将下面代码添加到 ...

  4. zoj1136 Multiple

    记忆化搜索,因为要求最小的,肯定是从小到大,依次添加,那么通过bfs,队列貌似是最好的选择.因为很可能那个数爆long long,所以采用字符串存储,并记录余数,通过模拟除法的方式来写. 剪枝:因为后 ...

  5. N!

    #include<stdio.h>main(){int jiech(int n);int n;printf("n:\n");scanf("%d",& ...

  6. DBI && MySQL lock

    DBI: url set isolation to dirty read my $npmdb_dbh = DBI->connect("DBI:ODBC:npmdb", &qu ...

  7. 请简述javascript的数据类型种类?

    答案: javascript里的数据类型分为基本数据类型 和 引用数据类型两种, 其中, 基本数据类型包括5个:数值,字符串,布尔,null, undefined 引用数据类型包括3个:array,f ...

  8. mysql 查询重复的(不区分大小写)数据的SQL优化

    在mysql中查询不区分大小写重复的数据,往往会用到子查询,并在子查询中使用upper函数来将条件转化为大写.如: select * from staticcatalogue WHERE UPPER( ...

  9. hdu 2509 Be the Winner 博弈

    题目链接 有n堆苹果, 对于其中的每一堆的x个苹果, 它是放在一条线上的. 你每次可以对一堆苹果进行操作, 可以取y个, 1<=y<=x. 然后如果你是取的一条线上中间的苹果, 那么这一堆 ...

  10. LinkList的实现

    public class MyLinkedList<AnyType> implements Iterable<AnyType> { @Override public Itera ...