我有两个网站www.web1.com和www.web2.com。现在我想在web1中写一个cookie,并通过Response.Redirect写入web2。 如果有效,我想通过这种方法实现一个简单的Sso。 但是,我无法读取web2中的cookie。有人能帮我找出我的代码是否有问题,或者Cookie不能通过这种方式跨域共享。 谢谢:)
下面的代码:在www.web1.com/Default.aspx
protected void Page_Load(object sender, EventArgs e)
{
HttpCookie ck = new HttpCookie("userid", "00000001");
ck.Expires = DateTime.Now.AddDays(1);
ck.Domain = ".web2.com";
Response.Cookies.Add(ck);
Response.Redirect("http://www.web2.com/Default.aspx");
}
和代码www.web2.com/Default.aspx
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["userid"] != null)
{
lbCookie.Text = Request.Cookies["userid"].Value;
}
else
{
lbCookie.Text = "No Cookies";
}
}
+0
你看过这个问题的答案(尤其是@ aleemb的回答)吗? http://stackoverflow.com/questions/939268/cross-domain-cookie-access-or-session?rq=1 –
+0
找到这篇文章'http://www.codeproject.com/Articles/106439/Single-Sign- On-SSO-for-cross-domain-ASP-NET-applic' –
+0
@Jaya Prakash Rokkam,是的,我读过你提到的文章,我在这里所做的完全是遵循“非常基本的跨域SSO实现模型“。但是,似乎通过重定向传输Cookie不起作用在我的代码:( –