2013-08-05 63 views
0

我想为状态服务器使用sessionState。 这适用于所有会话变量,但不适用于身份验证。我必须做什么才能在State Server中存储身份验证,以便我可以使用Web服务器场?我的web.config看起来像..ASP.NET FormsAuthentication不使用状态服务器

<system.web> 
<authentication mode="Forms">  
    <forms loginUrl="~/Account/Login" timeout="20" slidingExpiration="true" />  
</authentication> 
<authorization> 
    <deny users="?" /> 
</authorization> 

<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20" /> 
<machineKey validationKey="F2FCB9C6C8F045A198D4885C6E... 
+0

您是否尝试过使用状态服务器配置进行会话并尝试对用户进行身份验证?它应该没有问题。唯一需要确定的是网络农场中所有机器的机器密钥都是相同的。 – Chandermani

回答

1

我不清楚你的意思是“存储身份验证在状态服务器”。

身份验证永远不会存储在会话变量中,这样做很不好。身份验证以加密cookie(非持久性或持久性)的形式存储在用户本地计算机上,因此,只要您的计算机密钥在所有服务器上被共同指定,就可以不受任何webfarm问题的影响。

Session和FormsAuthentication是.NET中的不同系统。