2015-04-02 141 views
0

我希望在Coldfusion中處理會話超時的一些想法。Coldfusion會話超時

現在,當用戶登錄時,我將session.LoggedIn設置爲true,當然,當會話超時時,它將更改爲false。我所有的Coldfusion頁面都被編碼以檢查這個變量,如果它是假的,它會重定向到Access Denied頁面。我將該代碼更改爲重定向到index.cfm,在那裏驗證其憑據,並將其重定向回其主頁。這樣做的問題是,如果他們在他們的某個應用程序中並且他們的會話過期,當他們點擊某些內容時,他們會被帶回他們的主頁。

我嘗試在Application.cfc中的OnSessionEnd函數中使用cflocation標記,但當然不起作用。這不是一個真正的關鍵問題,但我希望我可以從論壇中獲得一些關於如何在您的環境中處理這些問題的想法。

感謝

+0

首先,這不是論壇。這是一個問答網站。其次,您應該向我們提供一些您的代碼,以便我們能夠更好地幫助您找到針對您的特定問題的答案。 – 2015-04-02 19:05:29

+0

你所有的ColdFusion頁面都被編碼來檢查這個變量嗎?聽起來像很多重複的代碼。你熟悉Application.cfc中的'onRequestStart'函數嗎?此外,當會話超時時,會話範圍可能爲空,因此依靠session.LoggedIn等於false可能無法達到您所期望的效果。 – 2015-04-02 19:06:27

+0

toleolu - 提及Q&A站點區別的原因是,如果您來自論壇,Stack Overflow具有與您預期不同的一組規則。儘管上述確實是一個有效的問題,但「可以寫成」,可能會被視爲[「off-topic」](http://stackoverflow.com/help/on-topic),並有可能關閉。典型的問題應該包括一些代碼來證明問題,就像你以前的問題一樣。只是提及它,所以它不會讓你感到驚訝。 – Leigh 2015-04-03 16:28:10

回答

1

session範圍內被更新在每一頁上點擊,或會話範圍的訪問。所以,如果您將會話超時設置爲10分鐘,並且他們每9分鐘刷新一次頁面,則會話將被更新。他們永遠不會超時。

會話超時不會從會話創建時開始。

+0

這都是事實。我不確定它是否與問題有關。 – 2015-04-02 19:37:59

+0

Wow Evik,並不意味着通過將此論壇稱爲論壇來喋喋不休,對此抱歉。你是如何訓練你的用戶如此好以至於他們完成後關閉他們的應用程序的?這將解決我的問題,因爲我的用戶傾向於打開應用程序,做他們需要做的事情,然後開始做其他事情。屆時會議超時。 Dan,我在Application.cfc中有onRequestStart,但並不真正熟悉它的功能。它現在的所有內容都是cfargument name =「targetPage」type =「String」required =「true」我會研究這些內容並回傳。謝謝 – toleolu 2015-04-02 22:34:15

+0

你絲毫沒有rat my我的籠子。論壇和問題/答案網站之間存在重要區別。我想一個編碼器會很感激被指出的。 – 2015-04-02 22:54:12