2014-10-07 74 views
0

我處理在服務器端的會話,我能夠通過使用適配器端代碼工作燈6.1:如何在適配器級別的清除工作燈服務器會話

var cookie = WL.Server.getClientRequest().getHeader('Cookie'); 
    var request = WL.Server.getClientRequest(); 
    var session = request.getSession(); 
    var sessionid = session.getId(); 

來管理,但問題是每一個我是時間打到適配器我在服務器端獲得相同的會話。 如何殺死適配器端的會話,以便每次點擊適配器時都可以創建新會話。

我試過session.invalidate()但對我沒用。做完這些之後,我也會在服務器端獲得相同的會話。

請建議在服務器端或適配器端需要做什麼。

回答

0

如果您能夠準確解釋您想要達到的目標,這將大有裨益。事實上,你沒有足夠清楚地解釋它。


如果你在談論工作燈服務器和後端,然後的服務器:

若要發送給後端的每個適配器請求獲得一個新的會話,你需要設置connectAs屬性到endUser對相關程序:

<procedure name="getStories" connectAs="endUser"/> 

請參閱下面的博客張貼這也解釋了它的長度: Configuring HTTP adapters for stateless/stateful backend connectivity and user identity propagation


如果你實際上是在談論會議客戶端調用適配器時創造,那麼你就不能在會議上的適配器級無效。獲得新會話的唯一方法是重新打開應用程序(假設會話已經在客戶端和Worklight Server之間過期,您將獲得新會話)。

+0

我不希望每個適配器請求的新會話。我只是想在第一次打電話給任何適配器時進行新的會話,然後它應該在整個應用程序中都是一樣的。 – 2014-10-07 12:34:47

+0

你是什麼意思「第一次」你叫適配器?你需要更好地解釋你想要做的事情。你特別寫道:「我打到適配器,我在服務器端得到相同的會話。如何殺死適配器端的會話**,這樣我可以在每次打到適配器時創建新的會話**。 – 2014-10-07 14:44:17

0

您所描述的是默認的WL服務器行爲。您將在首次訪問服務器時創建一個新會話,並且該會話將被重複使用,直至超時。

+0

因此,如果在我的應用程序中,我已經提供了註銷的功能,那麼我將如何殺死活動的會話並獲得相同的新會話。 – 2014-10-08 04:34:10