2012-02-10 104 views
1

我有一個登錄函數,通過xml webservice對遠程數據庫進行授權。成功登錄後,我爲登錄用戶設置了一大堆會話變量,這些登錄用戶在站點後面跟隨它們(僅限會員內容等)。這一切工作正常。從一個application.cfm訪問Coldfusion會話變量到另一個

我們正在建立一個商店,希望能夠訪問會話變量,成員定價,預填表單等等。現在,鏈接到店後,纔在會員登錄可我包括在鏈接的URL標記,像這樣:

https://mysite.com/store/index.cfm?<cfoutput>#session.urltoken#</cfoutput> 

商店頁面上CFdumping會議顯示了相同的CFID,CFTOKEN和jsessionid作爲登錄頁面,所以我認爲會話被正確維護 - 但是我的會話變量沒有出現在轉儲中,並且如果我嘗試引用它們,則會看到「會話中未定義」錯誤。

無論我通過http> http,https> https或其他組合從登錄到商店,都會發生這種情況。它都在同一臺服務器上。我很感謝任何幫助解決這個問題,或者如果有人有更好的建議如何實現我們的目標,我也會很感激!再一次,我想要做的就是讓商店在首次到達商店主頁時識別登錄成員。非常感謝!

+0

您是否確認完整的網址是相同的(即雙方mysite.com或www.mysite.com)?否則,你的代碼應該工作。 – 2012-02-10 09:00:10

+0

你住在同一個應用程序中嗎?換句話說,在這兩種情況下'application.applicationname'是相同的嗎? – ale 2012-02-10 13:27:15

+0

嗨比利謝謝,URL是相同的 - 他們都是同一網站的一部分,即通過https://mysite.com/login.cfm將設置會話變量並提供一個鏈接到https:// mysite .COM /存儲/ index.cfm。 Al,我正在檢查應用程序設置...謝謝! – daltec 2012-02-10 14:30:31

回答

0

兩個應用程序都需要具有相同的名稱

如果他們有不同的名稱,那麼所有應用程序會話變量是特定於該應用程序。

so in application.cfm確保名稱設置爲 如果您有任何application.cfc可能在構造函數中使用this.name設置。

+1

重讀這個問題後,看起來我們都不明白髮生了什麼。沒有跡象表明它們是獨立的應用程序:它聽起來像他所引用的兩個頁面都在同一個應用程序中,因此可能不存在「兩個應用程序」這樣的事情,而是會話在上下文切換中丟失往返於SSL。 – 2012-02-10 08:46:20

+0

其可能的命名方式不同或者沒有啓用會話變量。 – 2012-02-10 09:01:28

+0

我正在閱讀作爲一個文件夾,一個應用程序,一個application.cfm,在Web服務器中的2個不同的網站 - 但閱讀標題,也許不是這種情況 – 2012-02-10 10:16:34

-1

您可以使用服務器範圍。

<cfset server.sharedSession[session.urlToken]=session> 

要複製到服務器會話:

<cfloop collection='#server.sharedSession['#url.urlToken#']#" index="i"> 
    <cfset session[i]=servers.sharedSession['#url.urlToken#'][i]> 
</cfloop> 

你可以只複製整個會話,但循環可以讓你保持不在源會話值。

+0

我認爲這是一個非常糟糕的想法,您試圖通過向服務器變量範圍中添加一個令牌來重複會話變量。什麼會清理它們,計時等。我會堅持使用會話變量。 – 2012-02-10 08:23:22

+0

我同意:如果你想在兩個不同的應用程序上同步會話,你可能會想通過HTTP使用一個簡單的服務調用 - 這將避免服務器範圍的問題。但是,我不認爲這是發生在這裏的事情;我認爲這是同一個應用程序(請參閱我的答案) – 2012-02-10 08:47:47

+0

感謝比利和戴爾的幫助!對此,我真的非常感激!經過仔細檢查,以下是我的:1)mysite.com的一個根文件夾;內的各種文件夾(即移動,商店,圖像等)。 2)部分網站使用Farcry CMS。在根文件夾中的確有application.cfc,farcryConstructor.cfm和proxyApplication.cfc。在商店文件夾中是application.cfm。構造函數確實使用cfset與application.cfm中的名稱不同的名稱。等我做一些快速編輯時再繼續......再次感謝! – daltec 2012-02-10 14:39:42