如何在worklight中使另一个会话无效

时间:2014-08-22 04:39:40

标签: session ibm-mobilefirst

客户希望限制应用程序的重复登录,一旦用户从另一部手机登录,之前手机的会话应该无效。

但除了使用推送之外,我找不到工作灯的API来做到这一点,还有另外一些建议吗?非常感谢你。

2 个答案:

答案 0 :(得分:0)

Worklight确实没有为此类场景提供任何API。

以下是我的想法,作为可以做的事情的一个例子:

  • 设备#1是华硕,设备#2是LG
  • 作为用户登录,您将设备信息存储在Worklight数据库中(使用WL.Client.setUserPref
  • 当用户尝试再次从其他设备登录时,您可以提取现有的pref(使用WL.Client.getUserPref)并比较设备类型
  • 如果它们不相同,请注销当前userId并重新登录
  • (有关userpref的其他API方法,请参阅用户文档)

这可以是确保用户仅从一台设备进行记录的方法 您还可以使用与deviceId关联的userId,并在每次登录if (currentDeviceId != latestDeviceId) logout();时更新,等等......

答案 1 :(得分:0)

我在这里发布了一个实现机制,这个机制在我脑海中浮现。

它仍然是一个建议。

  1. 每当用户尝试登录时,都可以在后端[DB / Webserice]中输入,该后端告知用户/设备信息。

  2. 如果用户信息已经存在,那么您可以向用户提示一个对话框 该帐户已经登录,如果您继续登录上一个会话将被注销<如果用户继续,/ em> 会向先前登录的用户设备触发推送通知。

  3. 现在将通知以前登录的设备。在这里,您可以实现逻辑来执行 WL.Client.logout(领域,选项)

  4. 如果有人发表的回答比我做的更好,那就太好了。

    如果我的建议有用,请告诉我。