删除 Worklight Adapter 中的 Cookie:多个会话使用基于相同适配器的身份验证
Posted
技术标签:
【中文标题】删除 Worklight Adapter 中的 Cookie:多个会话使用基于相同适配器的身份验证【英文标题】:Remove Cookies in Worklight Adapter : multiple sessions using same adapter based authentication 【发布时间】:2013-02-28 11:51:56 【问题描述】:我正在使用 Worklight 适配器并使用基于身份验证的适配器,它通过第三方 Web 服务(grails 服务器)验证凭据。
使用一个用户进行测试时,一切都很好,但是一旦我开始使用多个用户帐户,我发现所有用户都使用相同的 Cookie JSESSIONID 连接到同一个会话
我认为 worklight 适配器是从以前的请求中添加 cookie,这相当于浏览器连接到不同的帐户,而不删除旧的 cookie/注销。
在调试的时候,我可以看到我在认证请求响应头中,当第一个用户登录时:
"Set-Cookie":"JSESSIONID=63850CB333E7C279DC6D5B1D973B21E7; Path=/"
当第二个用户登录时,响应中不再有“Set-Cookie”标头。
任何人都有解决方案或解决方法?
如何在连接到身份验证网络服务器时强制 worklight 删除现有的 cookie?
【问题讨论】:
【参考方案1】:在您的适配器过程中,您应该添加属性connectAs="endUser"
。这样每个用户都将创建一个到身份验证后端的唯一连接,并且他们不会共享相同的会话 ID。
【讨论】:
【参考方案2】:我在关闭窗口时强制注销。像这样的:
function wlCommonInit()
window.onbeforeunload = function()
WL.Logger.debug("logging out");
WL.Client.logout();
;
【讨论】:
以上是关于删除 Worklight Adapter 中的 Cookie:多个会话使用基于相同适配器的身份验证的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Worklight 中查看 .adapter 文件的内容
将 cookie 附加到 WorkLight Adapter 响应标头
IBM Worklight Adapter 无法正确转换来自后端服务的法语文本响应
Worklight、SQL-Adapter、指定为定义者的用户 ('mobilefirst'@'localhost') 不存在