SQL Server会话数据和表单身份验证

时间:2013-09-05 14:13:21

标签: asp.net sql-server

我必须使用SQL Server来存储会话数据并形成用于登录的身份验证。在会话结束时会发生一些奇怪的事情,但我丢失了所有会话数据,但表单身份验证并没有将它们踢到登录页面。这是我为此设置的网络配置:

<authentication mode="Forms">
   <forms loginUrl="Login.aspx" timeout="2880" path="/" protection="All" 
          defaultUrl="Default.aspx"/>
</authentication>
<authorization>
  <deny users="?"/>
  <allow users="*"/>
</authorization>
<sessionState mode="SQLServer" customProvider="AppFabricCacheSessionStoreProvider" 
              sqlConnectionString="" timeout="30" allowCustomSqlDatabase="true">
   <providers>
      <!-- specify the named cache for session data -->
      <add name="AppFabricCacheSessionStoreProvider" 
           type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider" 
           cacheName="dev-advisorlynx" sharedId="OrionShared"/>
   </providers>
</sessionState>

1 个答案:

答案 0 :(得分:0)

表单身份验证由表单身份验证cookie管理。会话状态由ASP.NET_SessionID cookie管理。你可能会失去一个而不是另一个。

使用HTTP监视或检查IIS日志检查cookie流量。它们可能因任何原因而有不同的范围(例如,它们可能具有不同的域或路径,或者其中一个可能会过期)。