openam - Forgerock - OpenAM - 检索特定用户的所有有效 session

标签 openam opendj openidm

如何检索特定用户的所有有效 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/

相关文章:

java - 如何在 LDAP 中将域名转换为可分辨名称 (DN)?

single-sign-on - 如何将 openam 配置为身份提供者 (IdP) 以测试基于 SAML 的 SSO

openam - 使用 ssoadm 创建用户

sorting - ldapsearch 排序顺序如何工作?

elasticsearch - 存储用户资料

wso2 - Forgerock身份管理解决方案与WSO2身份服务器

javascript - 如何实现http请求的函数返回

tomcat - J2EE 代理的 OpenAM 自定义领域

java - OpenAM 与 Maven