从子域写入 cookie 并从另一个子域读取,而无需更改 web.config



我有一个简单的问题。我有两个不同的项目,例如

http://login.mydomain.com

http://test.mydomain.com

.顾名思义,我从登录项目登录并响应重定向到测试项目。

我能够为 login.mydomain.com 创建cookie,但我无法从 test.mydoamin.com 中读取它。
我的问题是,我可以从 login.mydomain.comwww.mydomain.com 创建cookie并从 test.mydomain.com 读取它,就好像我从 www.mydomain.com 读取它一样。


这就是我创建饼干的方式。

Response.Cookies["UserValidForMyDomain"].Value = myvalue;
Response.Cookies["UserValidForMyDomain"].Expires = dtExpireDate;

以及我如何阅读它们。

string myValue = Request.Cookies["UserValidForMyDomain"].Value;

不可以,但您可以为.mydomain.com域创建一个通配符cookie,这将允许任何子域读取/写入它。

HttpCookie hc = new HttpCookie("key", "value");
hc.Domain = ".mydomain.com";
hc.Expires = DateTime.Now.AddMonths(3);
HttpContext.Current.Response.Cookies.Add(hc);

阅读

HttpContext.Current.Request.Cookies["key"].Value

php中,这将session_set_cookie_params

asp和等效中,这些堆栈溢出线程可能很有用

如何在单个 asp.net 网站上的多个域之间共享会话?

如何在 c# mvc 中跨多个子域保留会话?

最新更新