MVC表单身份验证 - 如何在服务器场上处理托管?

时间:2011-06-14 19:41:05

标签: asp.net-mvc-2 forms-authentication server-farm

我正在寻找关于这个主题的一些明确性。

我希望托管我的网站,主机将通过服务器场对我的网站进行负载均衡。

由于我的MVC网站使用的是表单身份验证,我认为每个服务器都有问题可以验证客户端发送的身份验证cookie。

从其他帖子 - 我知道每台服务器都需要相同的机器密钥 - 如果有,那么每台服务器都可以读取auth cookie。

我需要明确的是 - 我可以在我的MVC应用程序web.config文件中处理(或者,我想要处理)吗?如果我在web.config中指定机器密钥(我目前正在做什么) - 我认为这将是用于生成auth cookie并读取auth cookie的密钥。由于每个服务器都有该站点的web.config副本,因此我认为任何服务器都可以读取用户发送的cookie。

我错过了什么?

在我的本地计算机上,我可以从站点的VS开发服务器版本到具有相同cookie的站点的localhost版本,并在两者上进行身份验证。 (看起来像一个类似的场景)

我相信这篇文章告诉我我的想法是正确的但希望在回到托管服务提供商之前获得更多信息 - forms authentication persistent across multiple servers

对此有任何见解以减轻我的无知将不胜感激。

谢谢, -D

2 个答案:

答案 0 :(得分:1)

  

我需要明确的是 - 我能吗?   处理(或者,我想处理)   这在我的MVC应用程序中   web.config文件?

是的,您可以在web.config中设置计算机密钥,因此Web场中的所有节点都能够解密身份验证cookie。这就是你所需要的一切。

答案 1 :(得分:0)

根据我在自托管环境中的经验,您(通常)会在machine.config级别处理此问题。在主机提供商没有为您完成此操作的托管环境中,您应该在应用程序级别web.config中执行此操作。