2013-02-28 68 views
0

我正在使用Worklight適配器並使用基於身份驗證的適配器,它通過第三方webservice(grails服務器)驗證憑證。刪除Worklight適配器中的Cookie:使用基於相同適配器的身份驗證的多個會話

當一個用戶測試,每一件事情是好的,但一旦我開始使用多個用戶帳戶,我發現,所有用戶都連接到同一會話,使用相同的Cookie JSESSIONID

我覺得工作燈適配器添加來自以前請求的Cookie,這相當於連接到不同帳戶的瀏覽器,而不會刪除舊的Cookie /註銷。

在調試時,我可以看到,我在認證請求響應報頭中,當第一用戶登錄:

"Set-Cookie":"JSESSIONID=63850CB333E7C279DC6D5B1D973B21E7; Path=/" 

以及當第二用戶登錄,不再有「設置Cookie」頭在迴應中。

任何人都有解決方案或解決方法嗎?

如何強制Worklight在連接到驗證Web服務器時刪除現有的Cookie?

回答

2

在您的適配器過程中,您應該添加屬性connectAs="endUser"。這樣,每個用戶將創建一個唯一的連接到身份驗證後端,他們不會共享相同的會話ID。

1

我強制關閉窗口註銷。類似這樣的:

function wlCommonInit() { 

    window.onbeforeunload = function() { 
     WL.Logger.debug("logging out"); 
     WL.Client.logout(); 
    }; 
} 
相關問題