2010-04-26 90 views
2

我遇到了使用ASP.NET SQL成員資格提供程序的站點的問題。首次登錄時一切正常。即,用戶被引導到登錄頁面,並且在成功登錄時,他們被髮送他們所請求的原始頁面。ASP.NET窗體身份驗證Cookie未到期

但是,在關閉瀏覽器並重新打開瀏覽器之後,身份驗證cookie仍然存在。他們可以直接進入任何需要身份驗證而無需登錄的頁面。

我有另一個網站,我使用相同的成員資格提供程序,它的行爲有所不同。當我在Firefox中檢查cookie時,出現問題的站點「Expires:Monday,April 26,2010 2:23:50 PM」正常工作的站點具有「Expires:會話結束時」。

設定指定期滿時間是相同的兩個站點:


    authentication mode="Forms" 
     forms name=".MySite" protection="All" path="/" 
      loginUrl="mySite/login.aspx" slidingExpiration="true" timeout="30" 
      requireSSL="false" 
    authentication 

(I除去元件分隔符中的代碼參考如上所述,由於它是搞亂了編輯器)

最終,我希望超時時間爲30分鐘,但我也希望cookie在用戶關閉瀏覽器時過期。我不希望它在機器上處於活動狀態30分鐘。這是它在我正在工作的其他網站上的表現,我不確定它們有什麼不同。

感謝 -Shane

回答

3

你嘗試在代碼寫入Cookie的登錄頁上的Cookie持久性設置爲false?

例子:

FormsAuthentication.RedirectFromLoginPage(userName, false); 
+0

嗯......這將是一個問題。非常感謝你! – Shane 2010-04-26 20:32:18

+0

感謝您的回答。希望我能代表你。 – Shane 2010-04-26 20:32:57