如何在 ibm worklight 混合移动应用程序中处理客户端会话超时

Posted

技术标签:

【中文标题】如何在 ibm worklight 混合移动应用程序中处理客户端会话超时【英文标题】:How to handle client side session timeout in ibm worklight hybrid mobile application 【发布时间】:2015-02-26 05:32:15 【问题描述】:

我想知道是否有任何方法可以在客户端应用程序启动时(或应用程序恢复时)检查会话是否过期。

目前,我正在使用 securityTest 来保护每个适配器过程,这样当应用程序恢复并且用户尝试单击并调用服务器时,它会抛出身份验证挑战并显示登录屏幕。这将获得对成功验证进行的过程调用的响应。

但我需要该应用程序只是在会话到期时显示登录屏幕并从头开始应用程序。有什么办法不使用适配器级别的身份验证?

【问题讨论】:

【参考方案1】:

您是否尝试过在环境级别保护应用程序?即在application-descriptor.xml文件中对环境节点进行安全测试。

然后,当应用启动时,您将调用 WL.Client.connect 并触发身份验证流程。这还将在客户端和服务器之间生成会话。

当该会话由于您在 worklight.properties 文件中声明的设定时间量内不活动而到期时,您将执行一些适配器请求 - 服务器将注意到会话已到期并再次请求身份验证.

【讨论】:

是的,伊丹,我试过了。但是我的要求不一样。我希望应用程序在从后台到前台时要求进行身份验证。如果用户在应用程序之间单击主页,应用程序将进入后台。然后,当应用程序恢复时,我希望根据服务器会话超时调用身份验证。我不想,让适配器调用,然后检查会话超时。 我可以在 android 的 RESUME 事件上调用 WL.Client.Connect 并让它工作,但在 ios 中,RESUME 事件不会一直触发。 然后 onresume 你应该注销。 是的,我可以这样做,但 iOS 中的应用恢复事件有一些怪癖。 resume 事件并不总是触发。

以上是关于如何在 ibm worklight 混合移动应用程序中处理客户端会话超时的主要内容,如果未能解决你的问题,请参考以下文章

IBM Worklight - 如何启动另一个应用程序?

如何在 ibm worklight 中通过 sql 适配器从 db2 检索或显示 html 页面上的数据?安卓混合应用开发

IBM Worklight 6.0 - 无法在 avd 上使用适用于 android 环境的 dojo 工具包运行示例混合 Worklight 应用程序?

IBM Worklight 6.1 - 如何提供可访问性支持

无法在 IBM Worklight 的 windows phone 8 中运行混合应用程序

IBM Worklight 6.0 - 使用 Web 服务的混合应用程序无法在实际设备上运行?