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

Session 如何使worklight中的另一个会话无效,session,ibm-mobilefirst,Session,Ibm Mobilefirst,客户希望限制应用程序的重复登录,一旦用户从另一部手机登录,前一部手机的会话应无效 但是我找不到worklight的API来实现这一点,除了使用push之外,还有其他建议吗?非常感谢。Worklight确实没有为此类场景提供任何API 以下是我认为可以做的一个例子: 设备1是华硕,设备2是LG 用户登录时,您将在Worklight数据库中存储设备信息(使用) 当用户尝试从其他设备再次登录时,您可以提取现有的pref(使用)并比较设备类型 如果它们不相同,请注销当前用户ID并重新登录 (有关use

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


但是我找不到worklight的API来实现这一点,除了使用push之外,还有其他建议吗?非常感谢。

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

以下是我认为可以做的一个例子:

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

您还可以使用与deviceId关联的用户ID,并在每次登录时更新
if(currentDeviceId!=latestDeviceId)logout()等等…

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

这仍然是一个建议

  • 每当用户尝试登录时,都可以在后端[DB/Webserice]中创建一个条目,该条目会告诉用户/设备信息

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

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

  • 如果有人能给出比我更好的答案,那就太好了


    同时请告诉我我的建议是否有用。

    谢谢您的评论。但当用户使用其他设备登录时,这将是WL服务器中的另一个新会话,WL适配器如何注销上一个会话?如果直接呼叫注销,则仅适用于新会话。Idan Adar请为此建议解决方案。需要此解决方案,因为两台设备不能一起登录。如果一个设备未注销,则应验证另一个设备,直到前一个设备注销