2013-05-03 127 views
2

我們有幾個使用會話存儲數據的站點。他們完美地工作。但是,我剛剛創建了一個新站點,並且每次加載頁面時會話都會重置。所以,我無法存儲用戶登錄。在Coldfusion中丟失會話

我們仍在使用application.cfm。在我只有這:

<CFAPPLICATION 
NAME="TestName1" 
APPLICATIONTIMEOUT="#CreateTimeSpan(0,8,0,0)#" 
SESSIONTIMEOUT="#CreateTimeSpan(0,8,0,0)#" 
sessionmanagement="yes" 
scriptprotect="all" 
setclientcookies="yes"> 

在同一個目錄中application.cfm一個文件,我有一個名爲sessiontest.cfm僅此文件:

<cfdump var="#session#" label="SESSION"> 
<br /><br /> 
<cfdump var="#cookie#" label="COOKIE"> 



在第一次運行,這是我在瀏覽器中加載sessiontest.cfm看到:

enter image description here



在refesh,這是我所看到的:

enter image description here



我可以快速連續刷新,每次刷新時開始一個新的會話。該網站使用SSL證書,並在IIS7上運行,雖然我們有其他人使用相同的設置工作正常,所以我不確定這會有所作爲。哦,更糟糕的是,這似乎並不適用於每個人。

有什麼想法我們可以改變或檢查以獲得會議堅持?

+0

如果您重命名您的應用程序名稱,您是否有同樣的問題? – 2013-05-03 14:22:37

+0

不錯,不幸的。 – 2013-05-03 14:31:16

回答

2

我們在生產環境中最近也有類似的問題,看來我們錯過了對的ColdFusion從2011年申請了一個熱修復9.0.1。類似的問題,可以發現http://www.horisk.com/blog/index.cfm/2011/5/19/Session-issues-after-installing-Coldfusion-901-update--OnRequestEnd-behaviour-change

我申請累積修補程序4 9.0.1 ,似乎它爲我解決了這個問題。

http://helpx.adobe.com/coldfusion/kb/cumulative-hotfix-4-coldfusion-901.html

+0

+1正如我猜你可能是對的。我們使用的是9.0.1,但不確定我們是否使用HotFix 4的9.0.1版本。現在還有9.0.2。我們正在升級到10,所以希望這將通過升級來解決。同時我發現了下面的解決方法。 – 2013-05-03 15:06:24

+0

如果您不確定您安裝了哪些更新,請嘗試hackmycf.com – snake 2013-05-03 18:24:32

2

我發現,可能更多的是變通的解決方案。我將application.cfm更改爲:

<CFAPPLICATION 
NAME="TestName1" 
APPLICATIONTIMEOUT="#CreateTimeSpan(0,8,0,0)#" 
SESSIONTIMEOUT="#CreateTimeSpan(0,8,0,0)#" 
sessionmanagement="yes" 
scriptprotect="all" 
setclientcookies="no"> 

<cfif structKeyExists(session,"cfid")> 
    <cfcookie name="cfid" value="#session.cfid#" expires="NOW"> 
    <cfcookie name="cftoken" value="#session.cftoken#" expires="NOW"> 
</cfif> 

通過自己管理cookie,似乎解決了問題。但是,我認爲@ user1800937的答案可能是更好的解決問題的方法。我不能嘗試它,因爲我不管理服務器。

感謝大家的幫忙!