我必须使用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 :(得分:0)
表单身份验证由表单身份验证cookie管理。会话状态由ASP.NET_SessionID cookie管理。你可能会失去一个而不是另一个。
使用HTTP监视或检查IIS日志检查cookie流量。它们可能因任何原因而有不同的范围(例如,它们可能具有不同的域或路径,或者其中一个可能会过期)。