1. 二级域名下 cookie跨域名
Response.AddHeader("P3P", "CP=CAO PSA OUR");//ie浏览器下需写入
HttpCookie cookie = new HttpCookie("username");
cookie.Domain = ".baidu.com";//域名
cookie.Expires = DateTime.Now.AddDays(14);
cookie.Value =value.Name;
Response.AppendCookie(cookie);
2.顶级域名的跨cookie用iframe嵌套或者用js调用接口
先写一接口 为sso.ashx 在a域名下
<%@ WebHandler Language="C#" Class="SSO" %>
using System;
using System.Web;
public class SSO : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
HttpRequest rq = context.Request;
string username = "";
if (!string.IsNullOrEmpty(Convert.ToString(rq.QueryString["username"])))
{
username = Convert.ToString(rq.QueryString["username"]);
}
HttpCookie cookie = new HttpCookie("username");
cookie.Domain = "tt.com";
cookie.Path = "/";
cookie.Expires = DateTime.Now.AddMinutes(10000);
cookie.Value = username;
context.Response.Cookies.Add(cookie);
context.Response.ContentType = "text/plain";
context.Response.AddHeader("P3P", "CP=CAO PSA OUR");
context.Response.Write("");
}
public bool IsReusable {
get {
return false;
}
}
}
js调用 b域名下 <script type="text/javascript" src="http://www.tt.com/SSO.ashx?username=1321"></script>