主站用asp.net 开发,其它分站用mvc3.0开发 ,都在同一一级域名下,怎么实现Cookie跨域,度娘了很久,都试了下,好像不好用!!!
如果是在同一个主域名下可以设置cookie的domain属性。
public static void SetFormsCookie(string name, string roles)
{
HttpContext context = HttpContext.Current;
if (context != null)
{
FormsAuthentication.SetAuthCookie(name, false);
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, name, DateTime.Now, DateTime.Now.AddDays(1), false, roles);
string hashTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hashTicket);
cookie.Domain = "jk666.cn";
context.Response.Cookies.Add(cookie);
}
}
这样写对吗?
@love^net: cookie.Domain = "jk666.cn";
这样设置了之后,应该只要是这个域名下的网页都可以访问到这个cookie了。
session用起来会方便很多
类似于博客园,写cookie domain时为xxx.xxx。
1 把cookie都设置到根域名上,这样任何子域都能读写。
2 一定要设置在不同子域上。可以用jsonp读写跨域的cookie。jsonp大概的意思是:A域想读写B域的cookie,A域发一个请求到B域的服务端,B域的服务端读写B域的cookie,之后传回给A域。 网上很多介绍jsonp的,你可以查查。
cookie的域,设为一级域名即可。
如:博客园: cookie domain 设为: cnblogs.com
path 设为:/.
LZ,我刚好跟你相反,我主站是mvc做的,分站是aspx做的,实现session跨域。2个网站的域名是不一样的哦。但是我配置了一些东西就解决了这个问题,不知道你解决了吗?