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

 

 

posted on 2008-01-24 18:15  左直拳  阅读(235)  评论(0编辑  收藏  举报

导航