2013-02-28 70 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(); 
    }; 
} 
相关问题