是否可以在不同服务器上的Web应用程序之间共享会话状态?其中一个网站使用会话状态来维护用户凭据/信息会话状态,另一个使用表单身份验证来维护此信息。如果不使用会话存储对网站进行修改,使用表单身份验证的网站是否可以读取/访问其他服务器上的会话状态?如果没有,我认为是答案,如果它们在同一台服务器上运行,它们是否可能? (即相同的应用程序池)?
注意:两个应用程序都在相同的域名下(其中一个是子域名)
作为一个说明,之所以要问这是因为客户要求在两个网站之间采用“单点登录”方式。我们正在使用表单身份验证,而另一个站点(我们目前无法修改)正在维护会话中的凭据/登录信息
ASP.NET 4 IIS 7.5
答案 0 :(得分:0)
假设后者,您可以尝试这样的事情:
首先,确保所有应用程序都在同一个域中运行。如果不是,所有的赌注都会被取消。我不知道是否有一种简单的方法来配置会话cookie的域属性,所以你可能必须自己做,通过将cookie域属性设置为域:
Response.Cookies["ASP.NET_SessionId"].Domain = ".mydomain.com";
您需要确保将每个应用程序配置为使用公共状态服务器或db支持的会话。