首页 > 解决方案 > 无法在 AEM 6.3 中为登录用户获取唯一会话

问题描述

我有以下要求:我使用的是 AEM 6.3 版本。有一个使用 SOAP 客户端的第三方应用程序。SOAP 客户端几乎没有需要实现的方法。对于其中一种方法,我需要提供登录 AEM 用户的会话 ID(会话对象应包含有关登录用户、到期时间等的一些基本信息)。我只需要作者实例上的会话 ID。 第三方应用程序需要来自 AEM 作者实例的 AEM 页面信息。 不幸的是,我无法获得登录用户的任何唯一会话 ID。我得到的会话是每次刷新页面时都会更改的存储库/ JCR 会话。我还以为我可以使用JsessionID,但我不知道如何获取JsessionID。

任何人都可以请帮忙。

标签: aemaem-6

解决方案


我认为您可以使用用户管理器来获取 Authorizable 对象:

        Session session = resourceResolver.adaptTo(Session.class);
        UserManager userManager = resourceResolver.adaptTo(UserManager.class);

        Authorizable auth = userManager.getAuthorizable(session.getUserID());

然后您应该能够获得 ID 或用户路径来识别您的“会话”。


推荐阅读