wushaoen
2008-08-06 09:00 阅读 215
已采纳

请教关于session传送的问题

请问javaeye中的二级域名的session中怎么传送的?
不同的二级域名情况下就算是相同的虚拟主机session也是不同的,您们的程序是如何实现的?

我用的是java开发,请各大哥能指引一下吗?

还有一个问题:如javaeye登录再将IE浏览器的Cookie删除,而当前的用户也是登录的(尽管是新建一个选项卡javaeye网页上的用户也是登录的);可再打开一个新的IE浏览器那用户就已不是登录了.
感觉似是不用Cookie但实现上也是用到Cookie登录的,两个不解,烦请哥们指引一下!!!

[b]问题补充:[/b]
SSO 单点登录----是解决多个域名不同webapps的登录方式;

我现在就是不明白:
如何把所有不同二级域名在一个web app实现session共享;这种方式可以在tomcat上有的设置的?还是要自己重写javax.servlet.http.HttpSession.getId(),如何是重写您们是用java.util.Random.nextInt(number)来自己定正义的吗?
烦指哥们指引一下!最好能给出一些代码实例,谢谢!
[b]问题补充:[/b]
将server.xml的Context加入privileged="true" cookies="false"后,tomcat就不会创建Cookies的JSESSIONID并且每个连接sessionId也是不断更新的;
说明tomcat的HttpSession.getId()是根据Cookies的JSESSIONID创建的,如果没有了JSESSIONID就会新创建一个sessionId,现在问题就是如何将tomcat默认JSESSIONID创建在同一个域cookie.setDomain(".1333.mobi");

解决了这个问题应该可以实现共享二级域名了

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

4条回答 默认 最新

  • 已采纳
    robbin robbin 2008-08-06 20:07

    对于tomcat来说,多个web app无法共享session。除非你自己写HttpSession替换掉Tomcat默认的实现。

    或者你可以完全放弃Java的Session机制,自己采用cookie+Memcached的方式来实现类似HttpSession的作用。这个方面的讨论可以搜索一下论坛。

    另外论坛里面有人改写过tomcat的session实现,改为用Memcached,这样的话,也可以实现session共享,你搜索一下论坛帖子吧。

    点赞 评论 复制链接分享
  • aidiyuxin aidiyuxin 2008-08-06 09:09

    [size=medium]第一个问题没看明白

    回答下你第二个问题

    cookie被删除的时候session的信息还在啊
    所以不管你怎么新建一个选项卡他都是在session中取的信息

    楼主可以这么做,先在session取用户的信息,如果session中没有的话
    再对cookie进行验证,这样不就可以啦吗?[/size]

    点赞 评论 复制链接分享
  • robbin robbin 2008-08-06 09:29

    你只要是同一个web app,session就是一个。我的意思就是说你写程序的时候,要把所有不同二级域名在一个web app里面编程处理,而不是分成一个web app处理一个二级域名。

    应该不会吧,清除cookie以后,刷新一下就是未登录状态了,可能你的IE清除cookie没有清理干净。

    点赞 评论 复制链接分享
  • shuai45 shuai45 2008-08-06 14:19

    SSO 单点登录

    点赞 评论 复制链接分享

相关推荐