`
stevezheng
  • 浏览: 80188 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

由discuz与j2ee整合引发的IE跨域cookie认证的问题

    博客分类:
  • java
 
阅读更多

近段时间在做网站,论坛就用成熟的discuz,但是我不是phper,只会java,做了一阵权衡之后,始终没有下决心学习php,于是转而寻找一些能将java web应用和dz链接的东西。

好在dz7以后有了ucenter这个东西,原意是做其他自己产品的单点登录的,说白了就是写一个cookie,各个子产品通过读这个cookie判断用户是否登录。

原来想的很简单,java生成一样的cookie,给dz读去,不就完了?仔细看了看dz生成cookie的过程,疯了。恨不得加100多层密。

放弃了。

于是直接调用ucenter,给ucenter用户登录的请求,如果通过了ucenter会返回一个xml文件,自己parse一下,就算完成登录,同时ucenter会返回一段<script>,只要你的server上有dz或者uhome(这不废话吗?就是为了整合,肯定有啊),就可以用他们的api生成cookie,这段cookie实际上也是调用的dz或者uhome的php页面。

貌似这个思路不错,但是在实际的过程中,遇到了一个很牛的问题,就是在ff和chrome上都没问题的登录,在ie上死活不行。

先说一下环境,两台服务器,19.168.0.1和.2,在.1上部署java web,在.2上部署dz和ucenter,由java发出后台请求ucenter后,由.1调用.2的dz生成cookie,这时候再到.2的时候,dz就自动登录了。

有些乱乎。但是明眼人一下能看出问题,IE倒霉的跨域cookie拦截机制把写cookie的要求截住了,我是查了n多资料才发现这个的,最终发现IE页面下面哪个邪恶的小红眼睛里面,果然有被拦截的.2写cookie的请求。

于是遍查资料,崩溃了n次,什么p3p和神秘的一串码都用上了,根本没用!

 

不过,别指望我能提供什么方法。到最后我也没有找到解决IE的这个问题。

 

倒是,第二天早上刷牙的时候想到一个事情:实际上,在真正的网站中,根本不存在跨域的问题,因为.1会解析成www.aaa.com,.2解析成bbs.aaa.com,只是测试环境中犯懒,直接用ip了,所以跨域了。

 

赶紧配了一个hosts,测试,成功!

 

写这段的目的是提醒一下:别把时间浪费在解决根本不存在的问题上。

 

同时:有点儿感慨,我在页面中引用google的地图,检查cookie的时候,发现google倒是写上cookie了!它是绝对的跨域了啊,怎能弄得呢?

 

有知道的,不吝赐教啊

分享到:
评论

相关推荐

    axios中cookie跨域及相关配置示例详解

    在开发Web应用时,我们经常会遇到跨域问题,特别是在使用Vue.js等前端框架与后端API进行交互时。Axios作为一个流行的JavaScript库,用于处理HTTP请求,它在处理跨域请求时,特别是涉及到Cookie时,有一些特殊的配置...

    IE7 Ajax跨域问题

    标题 "IE7 Ajax跨域问题" 涉及到的是在使用Ajax技术在Internet Explorer 7(IE7)浏览器中处理跨域请求时遇到的挑战。在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器...

    跨域访问解决方案,关于跨域访问cookie的资料

    ### 跨域访问解决方案与Cookie处理 在现代Web开发中,跨域问题一直是困扰开发者的一大难题。当浏览器出于安全考虑阻止不同源之间的数据交互时,跨域问题便产生了。为了解决这一问题,并确保在跨域场景下可以正确地...

    Dubbox跨域请求、Cookie设置

    【标题】"Dubbox跨域请求、Cookie设置"所涉及的知识点主要集中在分布式服务框架Dubbo的跨域问题处理和Cookie的配置上。Dubbox是阿里巴巴开源的一个基于Dubbo的扩展,提供了更多的特性,如REST支持、Zookeeper注册...

    如何使用localstorage代替cookie实现跨域共享数据问题

    因为网站系统的日益庞大,不同域名业务,甚至不同合作方网站的cookie可能或多或少需要进行共享使用,遇到这个情况的时候,大家一般想到的是使用登录中心分发cookie状态再进行同步进行解决,成本较高而且实施起来比较...

    跨域携带cookie案例.rar

    在现代Web应用中,前后端分离的架构设计已经成为主流,随之而来的是跨域资源共享(CORS)的问题。本文将深入探讨“跨域携带cookie”的案例,重点解析如何通过nginx服务器解决这一问题。首先,我们需要理解什么是跨域...

    Django的cookie跨域问题解决方法

    在这个场景中,我们关注的是Django应用中的cookie跨域问题,这通常在开发多站点或者前后端分离的项目中出现。在"实验室大作业购物商城示范"这样的项目中,处理好cookie跨域能够确保用户登录状态等敏感信息在不同域...

    Shibboleth与CALIS统一认证云服务中心的跨域认证集成模式.pdf

    CALIS旨在解决国内外电子资源数据库访问时的跨域身份认证问题,并为高校图书馆间的资源共享和协同服务提供基础性支持。通过CALIS统一认证云服务,用户能够在校园外进行实名认证访问,大大提高了资源利用的灵活性和...

    基于axios 解决跨域cookie丢失的问题

    然而,有些情况下我们需要在跨域请求中保持登录状态,这就涉及到如何处理跨域cookie的问题。在本篇文章中,我们将深入探讨如何基于axios库来解决这个问题。 axios是一个非常流行的JavaScript库,用于发起HTTP请求。...

    IE8、IE9 Ajax 跨域解决办法

    解决ie8、9Ajax跨域问题(前端):jsp引入此js,Jquery Ajax正常写

    ie7下利用ajax跨域盗取cookie的解决办法

    在IE7浏览器环境下,利用AJAX技术跨域盗取cookie的操作涉及了Web安全性的敏感问题。cookie是服务器为了标识用户身份而存储在用户浏览器中的小文件,通常包含敏感信息,如登录凭证、偏好设置等。跨域问题是指出于安全...

    解决springboot实现跨域session共享问题

    // 允许携带认证信息(如cookie) } } ``` 接下来,我们讨论session共享。在分布式系统中,单一服务器上的session存储方式不再适用,因为用户请求可能会被路由到不同的服务器上。为了实现跨域session共享,我们...

    session、cookie的跨域共享

    同时你可以通过ie、firefox去测试你对session、cookie的理解在此之前是否正确,可以简单告诉你session不是我们大都认为的在登录时候,通过request.getSession()产生的,而是你在首次访问一个应用时候,就已经产生了...

    前端后端跨域问题

    ### 前端后端跨域问题解析及解决方案 #### 跨域问题概述 跨域问题,即Cross-Origin Resource Sharing(CORS),是指浏览器出于安全考虑,在不同源之间执行网络请求时实施的一种限制机制。根据同源策略的规定,只有...

    asp.net(C#)跨域及跨域写Cookie问题

    解决方法是: 代码如下: //www.B.com里的被调用的页面需要写P3P头,从而解除IE对写Cookie的阻止 context.Response.AddHeader(“P3P”, “CP=CAO PSA OUR”); //www.A.com里通过ajax调用www.B.com里的内容时,是跨域...

    tomcat跨域访问问题

    在开发Web应用时,我们经常会遇到“跨域访问”(Cross-Origin Resource Sharing, CORS)的问题。Tomcat作为一款广泛使用的Java Servlet容器,同样会遇到这个问题。跨域是由于浏览器的安全策略,同一源策略(Same-...

    跨域页面访问问题解决.doc

    解决跨域页面访问问题的办法是,在子系统的登录代码中加入 P3P 的认证,即允许第三方读取 cookie,这样 cookie 值才能被浏览器正确的读取并保存。P3P(Platform for Privacy Preferences)是一种隐私保护协议,允许...

Global site tag (gtag.js) - Google Analytics