我们处于负载均衡的环境中,负载均衡器是www.domain.com,我们有4台服务器使用.NETServer的SQLServer会话进行负载均衡... www1,www2等。
问题是我们还有一些遗留的ASP内容,一旦我们在负载均衡器上关闭Sticky IP,我们就需要继续工作。所以我们的想法是在需要ASP的少数几个地方,我们会将用户粘贴到登录决定的特定服务器上。
例如。
1)用户登录.NET站点
2).NET站点找出哪个服务器处理了登录请求,并将ASP认证写入该服务器
3)服务器名称存储在变量
中
4)任何时候用户访问ASP,我们使用服务器名称变量来确保他/她最终在具有他/她的身份验证和会话的服务器上。
问题在于,由于实际的登录请求仅仅是负载均衡器,因此当我们将用户引导至www3.domain.com/blah.asp时,会话不在,因为它与www.domain.com不同。
所以我认为我们正在寻找某种方式来跨域共享会话,但我想有点扭曲。
感谢任何帮助,我希望我能清楚地传达这个问题。
答案 0 :(得分:0)
您可以使用'domain.com'作为会话Cookie的域,而不是'www.domain.com',因此可以读取Cookie来自www1.domain.com,www2.domain.com等。
在web.config上:
<authentication mode="Forms">
<forms path="/" domain="domain.com" ..... />
</authentication>