所有人
我有两个网站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";
}
}发布于 2014-05-09 16:17:15
不要费心设置跨域cookie,它们在大多数情况下都会在所有现代浏览器中被阻止。
使用带参数的纯HTTP GET和服务器端加密来进行跨域SSO。
例如,在页面www.web1.com/Default.aspx上,您可以将隐藏的IFrame添加到一些特殊的页面www.web2.com/sso.aspx?userid=<encrypted,timestamped userid>,这反过来会将cookie设置在web2.com上。
https://stackoverflow.com/questions/11026115
复制相似问题