在将服务器重定向到另一台服务器时,Request.IsAuthenticated为false

时间:2018-02-27 13:46:53

标签: c# asp.net-mvc load-balancing session-state

我的应用程序在负载均衡器上运行,我有2台服务器。该应用程序安装在两台服务器上。如果Server1崩溃,应用程序将在Server2上运行。

在重定向到其他服务器时,我希望Request.IsAuthenticated为真,并继续工作。但是,当服务器被重定向到另一台服务器时,Request.IsAuthenticated为false。

我正在使用SQL Server会话状态来确保会话数据的连续性。

我将以下部分添加到web.config,以使2台服务器的机器密钥值相同。

<machineKey validationKey='C44B8B7C521CB5BC7E602BAE6118AA44CD690C7304817129DA27C17E800132A1BD946C6D9AD12F0A5B342840C7D130564195428160B7466146938CA9E3A62686'   decryptionKey='0E9DF2DA7F210B84087690FF0BF25C905182AD81E16A5FA9' validation='SHA1'/>

我在web.config中配置了会话状态,如下所示:

<sessionState cookieName="myCookieName" mode="SQLServer" 
        sqlConnectionString="..." cookieless="false" 
        regenerateExpiredSessionId="true" timeout="30" />

它没有用。

为什么Request.IsAuthenticated是假的?如何保持身份验证状态?

0 个答案:

没有答案