锁定老帖子 主题:跨域访问时Session丢失
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-14
做个认证服务器就ok
|
|
返回顶楼 | |
发表时间:2008-11-17
1.http://www.web1357.cn/post/java_urlrewriter.html
我觉得urlrewriter能解决你的问题,后台指向的都是同一个域,地址栏怎么显示都可以. 2.我觉得持久化session到数据库也不错,至少可以提高用户体验度,不过要具体情况具体分析了. |
|
返回顶楼 | |
发表时间:2008-11-17
把 session 持久化到数据库,同时记下session id, 当跳转的时候传递session id就行了,当然,持久化的时候需要设置session的过期时间,
|
|
返回顶楼 | |
发表时间:2008-11-23
前期架构的时候考虑CAS就会好些。
|
|
返回顶楼 | |
发表时间:2008-11-24
数据库作为购物车确实是一个很好的解决办法
顶 |
|
返回顶楼 | |
发表时间:2008-11-25
response.setHeader("P3P","CP=CAO PSA OUR");
貌似只能对付windows下的跨域吧。自己试过确实可行的。 p3p是微软的隐私策略,通常情况下跨域iframe或者frameset默认采用的隐私策略为“中”,该级别的策略拒绝保留session。CAO PSA OUR则意味着你同意跨域保留session,但是也意味着你的网站不再安全。 |
|
返回顶楼 | |
发表时间:2008-12-19
p3p是可以的,只是这个同步登陆涉及到客户端网速问题,所以如果登陆页面被快速刷新的话,会导致其他域的登陆信息丢失。
|
|
返回顶楼 | |
发表时间:2008-12-22
用P3P协议吧,共享一下cookie
|
|
返回顶楼 | |
发表时间:2008-12-25
楼主这个问题,我在多年前就已经遇到过了。
我的设计是重新设计基于数据库的session 我自己设计了Wsession.java类 get(request,key,val) set(request,key) keepAlive() logout(request) clear(request,key) 系统启动前检测系统如果支持cookie 直接取jsp本身的SESSIONID 如果不支持(我之前主要从sp做过来的),则判断有无MISC_SESSIONID,ws_sid,jid等参数过来?如果有则用其作为sid 如果无则取手机号码 加密 如果无取ip (这里应该是不研究的,不过到了这步用户量已经少得可怜,严谨的做法是每个链接都要加如jessionid 即url重写) 这样设计后,可以解决不支持cookie的问题,跨域访问会话共享的问题。你所遇到的问题迎刃而解。 还有个好处 是会话在单独得mysql数据库存放。这个数据库只放session,和用户配置不得放任何业务逻辑。这样使得业务逻辑跟会话分离。要查当前用户在干嘛,诸如谁看过,谁在访问同一个业务,轻而易举。 by the way: 本人设计的书吧就是基于此。 欢迎各位大侠来测试,提意见,同时本人也在吸收有指向的网络程序员一起做事,我暂不能付给你工资,但一定是件有意义的事情。 http://5is8.vicp.net (请不要hack我。发现bug请发邮件给我netzend@gmail.com) |
|
返回顶楼 | |
发表时间:2009-01-03
为什么不把一套网站国际化一下用,反而每个国家要独享一个域名,这个设计也让我不解
|
|
返回顶楼 | |