我的应用程序在负载均衡器上运行,我有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
是假的?如何保持身份验证状态?