2012-02-21 50 views
1

好了,所以這裏是正在發生的事情:的Oracle APEX - HTML鏈接打破會議,並要求新的登錄

我有我建立了一個應用程序的客戶端。我的客戶有一個他們想要發佈在他們應用程序首頁的流程圖。檢查。然後,我的客戶希望將此流程圖設置爲圖像映射,以便用戶可以單擊此流程圖中的其中一個框並在應用程序的另一部分中將其帶至報告。檢查。

所有這些都是基本的,在技術意義上是有效的。問題在於,這是我之前遇到的APEX問題,每次用戶點擊其中一個鏈接時,都會將它們帶到登錄屏幕。看起來,直接鏈接到頁面的URL會中斷會話,並要求您再次登錄,即使您從應用程序中的一個頁面鏈接到同一應用程序中的另一個頁面。

我已經玩過所有的認證設置,希望能夠解決這個問題,並試圖確定什麼會打破會話,但沒有運氣。

有沒有其他人有這個問題,並可以分享他們的方法來解決它?我真的不能讓用戶在每次點擊鏈接時登錄,我也不能簡單地刪除頁面上的身份驗證。提前致謝。

+0

所有這些報告與圖像地圖在同一個應用程序中? – Tom 2012-02-21 15:19:08

+0

是的,他們是。我也在想,我可以利用點擊按鈕時APEX用來重定向的Javascript嗎? – Spags 2012-02-21 15:21:56

回答

2

您應該在鏈接中傳遞會話ID。如果你不這樣做,那麼頂點會將這視爲一個新的會話。您可以通過以下網址進行判斷:在您的圖片地圖上記下您網址中的會話ID。當你選擇一個應用程序時,再看一下url中的session id部分。如果它們不同,那麼你每次都開始一個新的會話。

/apex/f?p=190:90:1674713700462259::::: 
  • 190 - >應用程序ID
  • 90 - >頁ID
  • 1674713700462259 - >會話ID

轉嫁會議,這取決於你在哪裏建造你的鏈接。 在PLSQL,您可以通過:SESSION:APP_SESSION

例如找到它,在PLSQL動態區域:htp.p('the session id is '||:SESSION);

JavaScript代碼,您可以使用$v("pInstance")動態檢索的值,或使用&APP_SESSION.將有在運行時替換的值。 小例子:

function printsome(){ 
var d = $("<div></div>"); 
d.text('&APP_SESSION. = ' + $v("pInstance")); 
$("body").append(d); 
}; 

所以,你可能只需要改變你的鏈接建設有所爲包括會話!