删除Worklight Adapter中的Cookie:使用相同的基于适配器的身份验证的多个会话

时间:2013-02-28 11:51:56

标签: cookies adapter ibm-mobilefirst

我正在使用Worklight Adapters并使用基于身份验证的适配器,该适配器通过第三方Web服务(grails服务器)验证凭据。

当对一个用户进行测试时,每件事都很好,但是一旦我开始使用多个用户帐户,我发现所有用户使用相同的Cookie JSESSIONID连接到同一会话

我认为worklight适配器正在添加先前请求中的cookie,这相当于连接到différent帐户的浏览器,而不会删除旧cookie /注销。

调试时,我可以在第一个用户登录时看到我在身份验证请求响应标头中:

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

当第二个用户登录时,响应中不再有“Set-Cookie”标题。

任何人都有解决方案或解决方法吗?

如何在连接到身份验证网络服务器时强制worklight删除现有Cookie?

2 个答案:

答案 0 :(得分:2)

在适配器过程中,您应该添加属性connectAs="endUser"。这样,每个用户都将创建与身份验证后端的唯一连接,并且它们不会共享相同的会话ID。

答案 1 :(得分:1)

我在窗口关闭时强制退出。像这样:

function wlCommonInit() {

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