论坛首页 Java企业应用论坛

跨域访问时Session丢失

浏览 72954 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-01-09  
用webService来做吧
0 请登录后投票
   发表时间:2009-01-10  
god 终于看完了

看来前期的需求分析还是很重要的
0 请登录后投票
   发表时间:2009-01-16  
个人认为,首先可以确定一点,购物车里信息是绝对没有必要存到数据库里的。原因有两点:1.这部分信息对于用户可能是临时的,从面向对象的角度考虑,临时的信息最好是用临时的对象来存储,它不需要持久化到数据库中。2.如果把这些信息也要持久化到数据库,那么你的系统将会为之付出巨大而无谓的性能损失。只需记住一点,数据库只存该存的数据。
那么我现在又想下次登录的时候看见上次我放在购物车里的东西,那么该怎么办呢?
我认为比较好一点的做法是把用户购物车里的东西存放在用户的cookie中,比如,你可以把他购物车里商品的东西的ID存在用户cookie里,如果你一次数据库都不愿意查的话,那么你可以把所有购物车里的商品的所有信息都存在cookie里。这样你就可以保证时隔2年再次登录的时候,还可以看到上次放入购物车里东西。当然前提是那个cookie还在用户机器上。
关于跨域session的问题,我想在这里顺便提一下。一般来说,我认为解决这个问题的比较好一些的做法是使用sso框架来解决,比较好的单点登录框架我推荐耶鲁大学的,这个框架也是业界比较认可的一个框架。它可以为你系统的、周密的、安全的解决session跨域问题,当然耶鲁设计这个框架的初衷绝不是单单为了解决一个session跨域问题,这只是一个附属的问题而已。虽然有点杀鸡用牛刀的感觉,但还是希望你尝试一下,我想当你的网站以后扩展到真正需要多个域名的时候,sso是你必不可少的一项架构技术。
0 请登录后投票
   发表时间:2009-01-16   最后修改:2009-01-16
q0a9z8x7c6v5 写道
个人认为,首先可以确定一点,购物车里信息是绝对没有必要存到数据库里的。原因有两点:1.这部分信息对于用户可能是临时的,从面向对象的角度考虑,临时的信息最好是用临时的对象来存储,它不需要持久化到数据库中。2.如果把这些信息也要持久化到数据库,那么你的系统将会为之付出巨大而无谓的性能损失。只需记住一点,数据库只存该存的数据。
那么我现在又想下次登录的时候看见上次我放在购物车里的东西,那么该怎么办呢?
我认为比较好一点的做法是把用户购物车里的东西存放在用户的cookie中,比如,你可以把他购物车里商品的东西的ID存在用户cookie里,如果你一次数据库都不愿意查的话,那么你可以把所有购物车里的商品的所有信息都存在cookie里。这样你就可以保证时隔2年再次登录的时候,还可以看到上次放入购物车里东西。当然前提是那个cookie还在用户机器上。
关于跨域session的问题,我想在这里顺便提一下。一般来说,我认为解决这个问题的比较好一些的做法是使用sso框架来解决,比较好的单点登录框架我推荐耶鲁大学的,这个框架也是业界比较认可的一个框架。它可以为你系统的、周密的、安全的解决session跨域问题,当然耶鲁设计这个框架的初衷绝不是单单为了解决一个session跨域问题,这只是一个附属的问题而已。虽然有点杀鸡用牛刀的感觉,但还是希望你尝试一下,我想当你的网站以后扩展到真正需要多个域名的时候,sso是你必不可少的一项架构技术。

如果你认为购物车的数据存在数据库系统会出现“巨大而无谓的性能损失”,那么,你的设计真的是非常糟糕咯。 :)
0 请登录后投票
   发表时间:2009-02-12  
还没看到一个明确的解决方法哦,我正要做这个跨应用sesseion.
0 请登录后投票
   发表时间:2009-03-23  
以避免在同一应用中,以不同域访问时产生多个session。

做法
1、把附件拷贝到 tomcat安装目录\lib 覆盖原文件
2、在 startup.bat 增加一行
set JAVA_OPTS=-Dcookie.domain="abc.com"

试试吧。
0 请登录后投票
   发表时间:2009-07-30  
这样用域名有必要吗,看看人家mircofsoft
都是/zh/  /en/ /fr/ /tw 这样的形式!!
0 请登录后投票
   发表时间:2009-09-03  
vipcowrie 写道
实际不用搞的这么复杂,我实现过中国XX公司的全国和省级网站的单点登录,采用的是SAML2.0跨域的单点登录规范,对于你们的情况,简单的说,就是需要一个IDP,负责所有的用户认证授权工作,此IDP要求有独立的域名,其他网站都可以视为SP,当用户从SP1访问到SP2的时候,需要跳转到IDP进行验证,IDP会签发一个artifact,跳转回SP2,SP2通过后台进行artifact验证,然后创建自己的会话。整个过程不需要采用URL重写等技术。最重要的是了解SAML规范。

-----------------------------------------


正解,这样很规范,可以随时有新的SP接入。

0 请登录后投票
   发表时间:2009-09-04  
LINUX  配置 tomcat 不成功 555
0 请登录后投票
论坛首页 Java企业应用版

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