WebService与共享COOKIE

WebService与共享COOKIE

左直拳

现在有两个网站:www.abc.comcheck.abc.com。要求用户打开邮件时,访问check.abc.com,保存COOKIE。以后用户访问www.abc.com,则检查COOKIE。如果发现在check.abc.com上有COOKIE,则自动登陆。

这大概跟单点登陆有点类似。我刚开始的设想是:在check.abc.com上提供一个WebService,供www.abc.com调用来检查COOKIE

但是,在本机上直接用浏览器访问WebService检查,可以准确读取check.abc.com 保存的COOKIE;而运行同样放在本机上的www.abc.com,通过www.abc.com上的页面调用WebService,却怎么也读不出COOKIE。调试了很久,查阅了许多资料都没有结果。

后来有篇文章介绍说:COOKIE可以自动由子级域名分享,无须做什么特别设置。对网站www.abc.comcheck.abc.com来说,它们都是二级域名,一级域名是abc.com。所以,保存COOKIE的时候,将CookieDomain设置成“.abc.com”,无论www.abc.com还是check.abc.com,应该都可以顺利读取。代码如下

public void WriteToCookie(int userId)

{

HttpCookie cookie = new HttpCookie(UserInfo);

cookie.Values.Add(UserId, userId.ToString());

cookie.Expires = DateTime.Now.AddHours(1);

cookie.Secure = false;

cookie.Domain = ".abc.com";

HttpContext.Current.Response.Cookies.Add(cookie);

}

可是照样不行!

老子一生气,将WebService去掉了,在www.abc.com里直接读取,一读就读到了。

去他娘的WebService

你可能感兴趣的:(浏览器,webservice)