同步cookie和会话在不同的子域(asp.net)

前端之家收集整理的这篇文章主要介绍了同步cookie和会话在不同的子域(asp.net)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在asp.net建立一个网站,并有多个子域名.例如,
one.cookies.com
two.cookies.com

我希望我的用户能够登录到两个子域,并登录两个网站.此外,我希望会话和Cookie同步.到目前为止,我还没有找到可靠的方法来做到这一点.

解决方法

创建cookie时,您可以设置域:
HttpCookie cookie = new HttpCookie("name","value");
cookie.Domain = "cookies.com";

这将允许您的cookie可从cookies.com的所有子域访问.

如果您正在使用FormsAuthentication,那么您可以在web.config中设置auth cookie的域:

<forms name=".ASPXAUTH"
       loginUrl="login.aspx"
       defaultUrl="default.aspx"
       protection="All"
       timeout="30"
       path="/"
       requireSSL="false"
       domain="cookies.com">
</forms>

请记住,要使单个登录工作在多个子域上,您的ASP.NET应用程序必须共享与本CodeProject article中所述相同的machine keys.

不同子域(不同的工作进程)之间的共享会话更加困难,因为会话被限制在一个应用程序中,您将必须实现自定义的会话同步机制.

猜你在找的HTML相关文章