删除Worklight适配器中的Cookie:使用基于相同适配器的身份验证的多个会话
问题描述:
我正在使用Worklight适配器并使用基于身份验证的适配器,它通过第三方webservice(grails服务器)验证凭证。删除Worklight适配器中的Cookie:使用基于相同适配器的身份验证的多个会话
当一个用户测试,每一件事情是好的,但一旦我开始使用多个用户帐户,我发现,所有用户都连接到同一会话,使用相同的Cookie JSESSIONID
我觉得工作灯适配器添加来自以前请求的Cookie,这相当于连接到不同帐户的浏览器,而不会删除旧的Cookie /注销。
在调试时,我可以看到,我在认证请求响应报头中,当第一用户登录:
"Set-Cookie":"JSESSIONID=63850CB333E7C279DC6D5B1D973B21E7; Path=/"
以及当第二用户登录,不再有“设置Cookie”头在回应中。
任何人都有解决方案或解决方法吗?
如何强制Worklight在连接到验证Web服务器时删除现有的Cookie?
答
在您的适配器过程中,您应该添加属性connectAs="endUser"
。这样,每个用户将创建一个唯一的连接到身份验证后端,他们不会共享相同的会话ID。
答
我强制关闭窗口注销。类似这样的:
function wlCommonInit() {
window.onbeforeunload = function() {
WL.Logger.debug("logging out");
WL.Client.logout();
};
}