2013-09-05 61 views
1

我必須使用SQL Server來存儲會話數據併爲登錄形成身份驗證。會話結束時會出現一些奇怪的情況,並且會丟失所有會話數據,但表單身份驗證不會踢他們到登錄頁面。這是我爲此設置的web配置: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> 
+0

這可能是有用的:http://stackoverflow.com/a/17165067/1236044 – jbl

回答

0

表單驗證由表單驗證cookie管理。會話狀態由ASP.NET_SessionID cookie管理。你可能會失去一個而不是另一個。

使用HTTP監視或通過檢查IIS日誌來檢查cookie流量。無論出於何種原因(例如,它們可能具有不同的域或路徑,或者其中一個可能過期),它們的範圍可能不同。