2

如何检索特定用户的所有有效会话?例如,如果用户从多个设备登录并决定更改密码或重置密码。我需要能够使所有活动会话过期并将用户从所有设备中注销。如果用户怀疑他/她的帐户已被盗用并需要更改密码,这一点尤其重要。目前我可以检索 RME,但不能检索会话。我知道这在 UI 中是可行的,但我需要将此功能放在 SDK 或 API 中。是否有一个 curl 命令可以轻松实现这一点?

4

1 回答 1

3

莎拉,

目前没有端点可以让您使所有用户会话无效。您需要每个会话的会话令牌,然后多次调用 /json/sessions/?_action=logout REST 端点(每个会话一次)。

话虽如此,您可以使用以下类来获取特定用户的会话列表:

com.iplanet.dpro.session.service.SessionCount

您可以在此处阅读 javadoc 。

但是,使用这种方法有一些限制。必须启用会话配额。您可以通过转到配置 -> 全局 -> 会话页面在管理控制台上启用会话配额,然后:

  • 设置“活动用户会话”的数量
  • 打开“启用配额约束”

总而言之,您可以创建自己的自定义端点,该端点将获取用户 ID 并调用 SessionCount.getAllSessionsByUUID(uuid) 以获取活动会话列表。之后,您可以遍历会话列表并将它们一一失效。

希望这能回答你的问题。

于 2016-01-07T21:02:54.253 回答