我们正在实施带有3个服务器的负载平衡器。假设这样的情况。用户使用身份验证cookie从Server1和Server1响应登录到系统。如果来自那个(认证的)用户的任何连续的请求在Server1上都做得很好,但是如果在Server2或Server3上发出的请求比发生的问题更为严重。基本上cookie将被presend在HTTP headers
但Global.asax
的Application_AuthenticateRequest
用下面的代码在负载平衡环境中工作时无法检索FormsAuthentication Cookie
var authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
检索,当它出来是null
。我认为认证cookie中存在票证本身应该存在问题。由于某种原因,票证无效。在我搜索网页时,我发现MachineKey用于加密和解密(我是对吗?这是我的猜测)票据,而不同的机器具有不同的MachineKey。我可以在服务器之间共享MachineKey吗?我会以这种方式接触任何形式的保险吗?在这种情况下什么是最好的解决方法。提前致谢。
太好了。这正是我所期待的。 – Dimitri 2015-03-19 06:56:16