论坛首页 Java企业应用论坛

跨域访问时Session丢失

浏览 72953 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-11-10  
阁下没有听说过SSO吗?这需要用单点登陆的技术!
0 请登录后投票
   发表时间:2008-11-10  
grandboy 写道
你如果持久化的话,有个哥们说三两之后来看,我之前买的烟还在。那如果是三两年之后呢。 这些商品是不是还要保留呢?

我觉得肯定要设定一个持久时间的,例如保存1个月,2个月,或则数据库空间不够7天。。。
0 请登录后投票
   发表时间:2008-11-10  
再次感谢诸位的热心回复^_^

duobin3000 写道
看了一下,你的描述,有个问题,想问一下:
你们网站的规模有多大?通过这样的方式来维护状态信息,你们的系统大到一定程度就会挂掉。。。。。。
各个系统之间的交互,通过COOKIE来处理,好像现在人过着原始人的生活的感觉。

还有系统打规模系统开发,注意划分子系统,子系统的交互可以通过很方式:
消息,ws等都可以
感觉你们的系统很奇怪。。。。。。。。。。。。。。


嗯。目前我的工作是处理单个站点的CHECK OUT,所以,刚开始的时候我确实是没有考虑支付时跨应用的问题,只是在考虑cookie。上星期跟老大说了下,他已经注意到这个问题了。下午的会议上,就会做个决定了。

gloomyd 写道
将登录,购买商品,保存购物车,checkout等操作都放在一个单独的服务器上
将这些操作发布成rest形式的web服务
这样子 业务操作只需要在这个服务器上完成
其他的服务器只需要调用这些web服务  调用的时候附带上sessionid


我们这个系统,是建立在OFBiz上的,如果都改用WS的话,改动太大了。
就我个人而言,还是比较倾向于将购物车信息存入DB。因为,易实现吗 ^_^。

PS. 单点登录没有用过,而且,单单为了取得购物车的信息,上单点登录,有点杀鸡用牛刀的感觉。

0 请登录后投票
   发表时间:2008-11-10  
可以考虑自己实现类似的session功能,并把session流放入memcache,这样可以实现跨域共享session,又可以横向扩展。
0 请登录后投票
   发表时间:2008-11-10   最后修改:2008-11-10
根据偶的经验,有一点要说一下楼主,你的设计思路就有问题。
第一、你这个相当于是不同的站点,你要共享session难度是何其大?如果系统一复杂,估计出错几率异常高,这种方式不可取
第二、你如此设计你的系统间的耦合度大大增加,支付和商品耦合,你看看淘宝和支付宝以前也是耦合的,现在分开了。

他们根本就是2个不同的应用,你应该将支付系统独立出来,设计时,A假设是购买商品的系统,B假设是支付系统,你购买了商品之后需要到B上支付,你可以通过加密的方式传递数据,并且通过业务事务的方式来完成,这样耦合性也就降低了,重用性也高了。

注:所谓业务事务,是指和传统的事务的ACID有一定区别,业务事务只需要最终的状态保持一致即可。不必强求同一时刻一定要一致。具体做法可以参考偶的博客:http://blog.csdn.net/lovingprince/archive/2008/08/21/2807986.aspx
0 请登录后投票
   发表时间:2008-11-10  
在不同应用间共享session应该是不可能的,所以利用会话交换数据这一条就不符合,在不持久话的情况下,就只有考虑cookie了。
默认情况下,浏览器是不允许在不同域之间进行数据交换的,但这并不绝对:
    浏览器在进行不同页面数据交换是,首先会检测页面的domain属性,如果一致即认为不同页面在同一个域下面,自然可以交换数据,所以可以设置页面的document.domdain属性(不是所有浏览器版本都允许此操作),以达到欺骗浏览器的目的。(这个属性也不是可以随便设的,数据交换上方必须有相同的上级域名)
0 请登录后投票
   发表时间:2008-11-10  
samy_3 写道
可以考虑自己实现类似的session功能,并把session流放入memcache,这样可以实现跨域共享session,又可以横向扩展。

cookie问题还存在.
0 请登录后投票
   发表时间:2008-11-10  
楼主是不是EBAY的亚?
0 请登录后投票
   发表时间:2008-11-10  
米不同不能用跨域使用COOKIE。
你文中说到AJAX发送请求,是请求什么东西?

我之前在做个东西。。也是跨域的
没用P3P,自己在页面写个iframe
访问checkout的时候。你可以在checkout中加入iframe用JS提交一个请求给另外一个webapp。。只是这数据的传输暴露了。
0 请登录后投票
   发表时间:2008-11-11  
我觉得这样转来转去,很麻烦,随时都有可能跳转页面时SEESSION丢失的问题,我建议购物车还是通过数据库来保存
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics