高分,Cookie如何跨域访问

love_lanchong 2009-09-02 11:16:09
现在我在本地测试Cookie如何跨域访问,想成功后再放上服务器。

我先在本地配置了一个主域名:http://localhost:8080 还有一个二级域名:http://club.localhost:8080

我要实现的效果是主域名和二级域名的Cookie同步,主要是:
1)如果在http://localhost:8080登录了,http://club.localhost:8080上不用再次登录,反之亦然;
2)如果在http://localhost:8080退出了登录,http://club.localhost:8080上也能退出登录,反之亦然。


现在情况是:登录时,在Servlet里设置了Cookie,页面读取也能正常,但是实现不了跨域。
servlet的主要代码如下:
Cookie ck = new Cookie("cookiename",value); //定义Cookie对象
ck.setPath("/"); //作用域
ck.setDomain(".localhost:8080"); //本地域名
ck.setMaxAge("2592000"); //Cookie有效期
response.addCookie(ck); //使这个Cookie生效


想请教各位,应该怎样实现Cookie跨域访问呢?最好可以在原代码上修改。如能解答,感觉万分~~~



...全文
3812 52 打赏 收藏 转发到动态 举报
写回复
用AI写文章
52 条回复
切换为时间正序
请发表友善的回复…
发表回复
love_lanchong 2009-09-19
  • 打赏
  • 举报
回复
今晚最后一顶,求解如何实现Session跨域共享,明天结帖
twinkleliang 2009-09-17
  • 打赏
  • 举报
回复
lz的主域和二级域“cookie跨域共享”,我觉得其实是一个domain的不同path下cookie共享罢了
gadfly1981 2009-09-17
  • 打赏
  • 举报
回复
csdn不就实现此功能了吗,
让csdn的程序员讲解下吧
louisgarcia 2009-09-17
  • 打赏
  • 举报
回复
[Quote=引用 45 楼 wrong1111 的回复:]
我做过一个类似的。。

就是登出的时候,调用子域内的一个logout.jsp。让其失效,然后还回登出。。

至于访问 子域我 是这么处理的。
URL url = new URL(startSite);
HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
urlCon.setDoOutput(true);
urlCon.setUseCaches(false);
urlCon.setRequestMethod("POST");
urlCon.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
OutputStream outstream = urlCon.getOutputStream();
name  ="Username="+name+"&Pwd="+pwd;
outstream.write(name.getBytes());
outstream.flush();
outstream.close();
int code = urlCon.getResponseCode();

if (code == 200) {
//处理你的业务逻辑

[/Quote]这是哪方面的内容啊 ????介绍一下,想学学
twinkleliang 2009-09-17
  • 打赏
  • 举报
回复
Session跨域共享 不符合安全的机制。跨域的话就等于你的网站可以访问在sohu,yahoo……上的cookie了
qq774097676 2009-09-16
  • 打赏
  • 举报
回复
学习一下
love_lanchong 2009-09-16
  • 打赏
  • 举报
回复
问题如38楼所写
sinberuser 2009-09-13
  • 打赏
  • 举报
回复
这个真不会,做个记号,也许以后用的着。
heavilyarmed 2009-09-13
  • 打赏
  • 举报
回复
[Quote=引用 41 楼 love_lanchong 的回复:]
最后顶一次,准备结帖
[/Quote]

??
wrong1111 2009-09-13
  • 打赏
  • 举报
回复
我做过一个类似的。。

就是登出的时候,调用子域内的一个logout.jsp。让其失效,然后还回登出。。

至于访问 子域我 是这么处理的。
URL url = new URL(startSite);
HttpURLConnection urlCon = (HttpURLConnection) url.openConnection();
urlCon.setDoOutput(true);
urlCon.setUseCaches(false);
urlCon.setRequestMethod("POST");
urlCon.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
OutputStream outstream = urlCon.getOutputStream();
name ="Username="+name+"&Pwd="+pwd;
outstream.write(name.getBytes());
outstream.flush();
outstream.close();
int code = urlCon.getResponseCode();

if (code == 200) {
//处理你的业务逻辑
love_lanchong 2009-09-13
  • 打赏
  • 举报
回复
[Quote=引用 42 楼 heavilyarmed 的回复:]
引用 41 楼 love_lanchong 的回复:
最后顶一次,准备结帖


??
[/Quote]

问题如38楼所写
love_lanchong 2009-09-12
  • 打赏
  • 举报
回复
最后顶一次,准备结帖
不修bux 2009-09-09
  • 打赏
  • 举报
回复
路过
zdwpeicun 2009-09-09
  • 打赏
  • 举报
回复
路过~~~学习...
love_lanchong 2009-09-09
  • 打赏
  • 举报
回复
有哪个朋友知道怎样实现Session跨域共享的吗?有的请讲一下,想结帖了
love_lanchong 2009-09-08
  • 打赏
  • 举报
回复
LS的朋友,我加了你,但还没通过,人呢?
guoshuai_8888 2009-09-07
  • 打赏
  • 举报
回复
我知道,加我qq781455218
love_lanchong 2009-09-07
  • 打赏
  • 举报
回复
嗯,谢谢楼上,有哪位可以解答一下吗
liangwansheng 2009-09-04
  • 打赏
  • 举报
回复
太高深了。。。
twinkleliang 2009-09-04
  • 打赏
  • 举报
回复
http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,我们叫做session cookie,以区别persistent cookies,也就是我们通常所说的cookie,而session cookie是存储于浏览器内存中的,并不是写到硬盘上的,这也就是我们刚才看到的JSESSIONID
加载更多回复(32)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧