Formsauthentication不适用于loadbalanced azure环境

时间:2015-06-29 13:28:38

标签: azure forms-authentication

我已经在负载均衡器后面的Azure环境中部署了我的asp.net MVC应用程序。相同的Web应用程序(simila文件)部署在两个Azure VM中。 (克隆的VM)。部署完全相同。

业务逻辑 会话用户ID存储在cookie中(在登录时创建),因此如果服务器无法读取cookie,则会指示其退出。

问题是当我从浏览器发送一个登录请求时,让它说它命中服务器A然后它成功登录。在几次请求之后,一旦我点击负载均衡器指示的服务器B,它就会退出。如果我使用服务器B登录,则会发生类似的事情,然后在我点击服务器A后退出。

两个服务器都可以作为http和https访问。我尝试使用http和https模式,两种模式都存在问题。

我用服务器A的机器配置替换了服务器B机器配置(Framework和Framework64)。

我仍然遇到这个问题。

这是我的配置,

<authentication mode="Forms">      
      <forms cookieless="UseCookies" defaultUrl="~/Home" loginUrl="~/user/signin" domain=".mydomain.net" name="FormAuthentication" path="/"/> 
</authentication>

 <machineKey validationKey="XXXXXXXXXX7E8095B292DFC0984B71212747191E878380CADAA8166B0D9C8E8E7B174AF38897E28F82DXXXXXXXXXXCB0CF7ABA161AAC6D86EDBCAA93704EE7FC" decryptionKey="XXXXXXXXXXDE9EA41A2423A2CD293C01050202746F5650E7" validation="SHA1" compatibilityMode="Framework20SP1"/>

更多信息 - 服务器的名称类似于server1.cloudapplicaiton.net,server2.cloudapplicaiton.net。应用程序域就像mydomain.net。 另外,我以编程方式将cookie名称设置为&#34; mydomain.net&#34;在Firmsauthentication登录。

我错过了什么吗?为什么服务器无法读取由具有相同机器密钥和域的另一台服务器创建的cookie?

0 个答案:

没有答案