如何检索特定用户的所有有效 session ?例如,如果用户从多个设备登录并决定更改密码或重置密码。我需要能够使所有事件 session 过期并将用户从所有设备中注销。如果用户怀疑他/她的帐户已被泄露并需要更改密码,这一点尤其重要。目前我可以检索 RME,但不能检索 session 。我知道这可以通过 UI 实现,但我需要将此功能放入 SDK 或 API 中。有没有一个curl命令可以轻松实现这一点?
最佳答案
莎拉,
目前没有端点可以让您使所有用户 session 无效。您需要每个 session 的 session token ,然后多次调用/json/sessions/?_action=logout REST 端点(每个 session 一次)。
话虽这么说,您可以使用以下类来获取特定用户的 session 列表:
com.iplanet.dpro.session.service.SessionCount
您可以阅读javadoc here .
不过,使用此方法有一些限制。必须启用 session 配额。您可以在管理控制台上启用 session 配额,方法是转到“配置”->“全局”->“ session ”页面,然后:
- 设置“活跃用户 session ”数量
- 开启“启用配额限制”
总而言之,您可以创建自己的自定义端点,该端点将获取用户 ID 并调用 SessionCount.getAllSessionsByUUID(uuid) 来获取事件 session 列表。之后,您可以遍历 session 列表并将它们一一失效。
希望这能回答您的问题。
关于openam - Forgerock - OpenAM - 检索特定用户的所有有效 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34638332/