WebService与共享COOKIE
左直拳
现在有两个网站:www.abc.com,check.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.com,check.abc.com来说,它们都是二级域名,一级域名是abc.com。所以,保存COOKIE的时候,将Cookie的Domain设置成“.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。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。