Azure 中多个 Web 服务器的用户身份验证

User Authentication over multiple Webservers in azure

我有一个 ASP.NET 应用程序,它在 Azure 中运行多个 Web 服务器(这些都是虚拟机,而不是 Azure 网站)。

如果用户自己登录(当前形成身份验证),一切正常,但如果他单击 link,他可能会被重定向到未设置会话 cookie 的服务器组中的另一台服务器。

如何在 azure 中解决这个问题,以便用户在所有机器上登录,或者有没有办法 "bind" 用户到特定服务器,这样他就不会在服务器之间跳转?

感谢您的帮助! 新陈代谢

您必须更改要保存在外部持久性解决方案中的会话状态,例如 SQL 服务器或 Redis,而不是您现在的设置 InProc(这意味着在内存中)。 here SQL 服务器描述了执行此操作的步骤。然后,如果某人最终进入了不同的服务器,他仍将通过身份验证,因为会话将从持久性解决方案加载。