2009-01-15 134 views
2

我從正在進行的成員資格提供程序切換到SQL成員資格提供程序,以阻止人們在網站進程回收時丟失會話,但會話似乎超時。ASP.NET會話超時使用SQL成員資格提供程序

在使用sql成員資格提供程序時,是否還有其他任何事情(除了web.config中設置的會話超時變量)會導致會話超時? 即使用戶關閉並打開瀏覽器,我也希望會話持續存在。我必須做特別的事情嗎?

回答

0

我不認爲在關閉窗口後可以保持會話。用戶帳戶由會話cookie索引,並在關閉該窗口時被刪除。

什麼你可能做的是存儲用戶配置文件信息,當他們登錄或其他方式表露身份(例如普通餅乾)恢復。

1

使用持久性Cookie('記住我'複選框),用戶登錄3天。如果你想讓這個窗口更大,你需要自己構建它。

0

您正在混淆會話(本質上會過期,應該只適用於單個會話的臨時數據)和配置文件。您可以使用ASP.NET的成員資格數據庫功能來設置持久性設置,但只有在用戶仍然登錄後纔會重新出現。

但是也有匿名標識。您可以在web.config中啓用這個

<anonymousIdentification enabled="true"/> 

,然後標記您的配置文件設置爲可供匿名用戶;

<profile> 
    <properties> 
    <add name="Name" allowAnonymous="true" /> 
    </properties> 
</profile> 

匿名cookie持續約70天。如果您決定支持註冊和全面會員資格,您需要在註冊時將匿名設置移至用戶設置。

相關問題