我正在使用Worklight Adapters并使用基于身份验证的适配器,该适配器通过第三方Web服务(grails服务器)验证凭据。
当对一个用户进行测试时,每件事都很好,但是一旦我开始使用多个用户帐户,我发现所有用户使用相同的Cookie JSESSIONID连接到同一会话
我认为worklight适配器正在添加先前请求中的cookie,这相当于连接到différent帐户的浏览器,而不会删除旧cookie /注销。
调试时,我可以在第一个用户登录时看到我在身份验证请求响应标头中:
"Set-Cookie":"JSESSIONID=63850CB333E7C279DC6D5B1D973B21E7; Path=/"
当第二个用户登录时,响应中不再有“Set-Cookie”标题。
任何人都有解决方案或解决方法吗?
如何在连接到身份验证网络服务器时强制worklight删除现有Cookie?
答案 0 :(得分:2)
在适配器过程中,您应该添加属性connectAs="endUser"
。这样,每个用户都将创建与身份验证后端的唯一连接,并且它们不会共享相同的会话ID。
答案 1 :(得分:1)
我在窗口关闭时强制退出。像这样:
function wlCommonInit() {
window.onbeforeunload = function() {
WL.Logger.debug("logging out");
WL.Client.logout();
};
}