Asp.net mvc 2 表单身份验证跨多个服务器持久化

Asp.net mvc 2 表单身份验证跨多个服务器持久化,asp.net-mvc-2,forms,forms-authentication,Asp.net Mvc 2,Forms,Forms Authentication,我有一个MVC2.0应用程序,它需要使用两台服务器之间负载平衡的forms身份验证进行持久登录(如果选择) 我的webconfig(在两台服务器上)如下所示: <authentication mode="Forms"> <forms name="MA_AuthCookie" loginUrl="~/Account/LogOn" timeout="86400" protection="All" path="/" slidingExpiration="false"/>

我有一个MVC2.0应用程序,它需要使用两台服务器之间负载平衡的forms身份验证进行持久登录(如果选择)

我的webconfig(在两台服务器上)如下所示:

<authentication mode="Forms">
   <forms name="MA_AuthCookie" loginUrl="~/Account/LogOn" timeout="86400" protection="All"   path="/" slidingExpiration="false"/>
</authentication>

<machineKey   validationKey="*************180C6E1FD3E9338B78ACD83CA0A99F27B985AF97871BDBA43E1426DB8FA82F811779BFB779D1E90EB9BCCDE71D3F0458392736B17D3" 
decryptionKey="*****************D72F47EF06B1F594CAAF1BEA311555A9D8E8" 
                validation="SHA1" 
                decryption="AES" />
所有的工作都很好,至少在两台服务器上都是如此,直到我一个小时后回来,没有任何活动,我的auth cookie就不见了。我不确定这是否与应用程序的负载平衡服务器上的工作进程有关,因为我可以直接转到其中一个服务器,登录,并且我的登录将按原样持久化。此外,通过我的发现,我设置机器验证密钥的事实是为了在工作进程运行时绕过密钥的问题和重新创建。一定有什么我遗漏了。如果有人能给我指出正确的方向,我将不胜感激

谢谢,
比利

看起来我没有意识到显而易见的事实。虽然有时关闭浏览器时,登录似乎会持续,有时不会,但在我的firefox浏览器上检查了会话结束时使Cookie过期的设置。做出改变后一切都很好

查看服务器事件日志。如果解密cookie时出现问题,将记录该问题。
 FormsAuthentication.SetAuthCookie(userName, true);