首页 新闻 会员 周边

Cookie跨域问题

0
悬赏园豆:10 [已解决问题] 解决于 2013-06-08 08:13

主站用asp.net 开发,其它分站用mvc3.0开发 ,都在同一一级域名下,怎么实现Cookie跨域,度娘了很久,都试了下,好像不好用!!!

love^net的主页 love^net | 初学一级 | 园豆:163
提问于:2013-06-05 13:39
< >
分享
最佳答案
0

如果是在同一个主域名下可以设置cookie的domain属性。

收获园豆:4
I,Robot | 大侠五级 |园豆:9783 | 2013-06-05 13:41

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 | 园豆:163 (初学一级) | 2013-06-05 13:57

@love^net: cookie.Domain = "jk666.cn";

这样设置了之后,应该只要是这个域名下的网页都可以访问到这个cookie了。

I,Robot | 园豆:9783 (大侠五级) | 2013-06-05 21:07
其他回答(5)
0

session用起来会方便很多

休小晓 | 园豆:21 (初学一级) | 2013-06-05 16:01
1

类似于博客园,写cookie domain时为xxx.xxx。

收获园豆:3
Astar | 园豆:40805 (高人七级) | 2013-06-05 17:12
1

1 把cookie都设置到根域名上,这样任何子域都能读写。

2 一定要设置在不同子域上。可以用jsonp读写跨域的cookie。jsonp大概的意思是:A域想读写B域的cookie,A域发一个请求到B域的服务端,B域的服务端读写B域的cookie,之后传回给A域。 网上很多介绍jsonp的,你可以查查。

收获园豆:3
chunchunlike | 园豆:108 (初学一级) | 2013-06-05 17:27
0

cookie的域,设为一级域名即可。

如:博客园: cookie domain 设为:  cnblogs.com  

      path 设为:/.

Jany_zhang | 园豆:104 (初学一级) | 2013-06-12 16:58
0

LZ,我刚好跟你相反,我主站是mvc做的,分站是aspx做的,实现session跨域。2个网站的域名是不一样的哦。但是我配置了一些东西就解决了这个问题,不知道你解决了吗? 

英雄所见略同 | 园豆:202 (菜鸟二级) | 2013-06-24 10:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册