在不同服务器上的Web应用程序之间共享会话状

时间:2012-10-23 20:39:03

标签: asp.net iis

是否可以在不同服务器上的Web应用程序之间共享会话状态?其中一个网站使用会话状态来维护用户凭据/信息会话状态,另一个使用表单身份验证来维护此信息。如果不使用会话存储对网站进行修改,使用表单身份验证的网站是否可以读取/访问其他服务器上的会话状态?如果没有,我认为是答案,如果它们在同一台服务器上运行,它们是否可能? (即相同的应用程序池)?

注意:两个应用程序都在相同的域名下(其中一个是子域名)

作为一个说明,之所以要问这是因为客户要求在两个网站之间采用“单点登录”方式。我们正在使用表单身份验证,而另一个站点(我们目前无法修改)正在维护会话中的凭据/登录信息

ASP.NET 4 IIS 7.5

1 个答案:

答案 0 :(得分:0)

假设后者,您可以尝试这样的事情:

首先,确保所有应用程序都在同一个域中运行。如果不是,所有的赌注都会被取消。我不知道是否有一种简单的方法来配置会话cookie的域属性,所以你可能必须自己做,通过将cookie域属性设置为域:

Response.Cookies["ASP.NET_SessionId"].Domain = ".mydomain.com";

您需要确保将每个应用程序配置为使用公共状态服务器或db支持的会话。

请点击链接:How to share session state across subdomains