如何检索特定用户的所有有效会话?例如,如果用户从多个设备登录并决定更改密码或重置密码。我需要能够使所有活动会话过期并将用户从所有设备中注销。如果用户怀疑他/她的帐户已被盗用并需要更改密码,这一点尤其重要。目前我可以检索 RME,但不能检索会话。我知道这在 UI 中是可行的,但我需要将此功能放在 SDK 或 API 中。是否有一个 curl 命令可以轻松实现这一点?
问问题
1014 次
1 回答
3
莎拉,
目前没有端点可以让您使所有用户会话无效。您需要每个会话的会话令牌,然后多次调用 /json/sessions/?_action=logout REST 端点(每个会话一次)。
话虽如此,您可以使用以下类来获取特定用户的会话列表:
com.iplanet.dpro.session.service.SessionCount
您可以在此处阅读 javadoc 。
但是,使用这种方法有一些限制。必须启用会话配额。您可以通过转到配置 -> 全局 -> 会话页面在管理控制台上启用会话配额,然后:
- 设置“活动用户会话”的数量
- 打开“启用配额约束”
总而言之,您可以创建自己的自定义端点,该端点将获取用户 ID 并调用 SessionCount.getAllSessionsByUUID(uuid) 以获取活动会话列表。之后,您可以遍历会话列表并将它们一一失效。
希望这能回答你的问题。
于 2016-01-07T21:02:54.253 回答