Worklight 6.1:如何在适配器级别清除worklight服务器上的会话

时间:2014-10-07 09:07:57

标签: ibm-mobilefirst worklight-adapters

我正在服务器端处理会话,我可以通过使用适配器端代码

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

但问题是每次我点击适配器我在服务器端获得相同的会话。 如何在适配器端杀死该会话,以便每次我点击适配器时都可以创建新会话。

我尝试了session.invalidate()但对我没用。在这样做之后,我也在服务器端获得相同的会话。

请建议在服务器端或适配器端需要做什么。

2 个答案:

答案 0 :(得分:0)

如果你能准确解释你想要达到的目标,那将会有很大帮助。事实上,你没有足够清楚地解释它。


如果您正在谈论Worklight Server和后端之间的服务器,那么:

要获取发送到后端的每个适配器请求的新会话,您需要在相关过程中将connectAs属性设置为endUser

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

请参阅以下博文,详细解释: Configuring HTTP adapters for stateless/stateful backend connectivity and user identity propagation


如果您在客户端调用适配器时实际上正在讨论创建的会话,那么您就无法在适配器级别上使会话无效。获得新会话的唯一方法是重新打开应用程序(假设客户端和Worklight Server之间的会话已经过期,您将获得新会话)。

答案 1 :(得分:0)

您所描述的是默认的WL服务器行为。当您第一次点击服务器时,您将获得一个新会话,并且该会话将被重用,直到超时为止。