gpt4 book ai didi

java - Liferay 7 - 在 Authenticator 类中设置共享 session 属性

转载 作者:行者123 更新时间:2023-11-28 22:15:45 25 4
gpt4 key购买 nike

我需要在 Liferay 的 Authenticator(key=auth.pipeline.pre) 中设置一个 session 。在此 Authenticator 类中,我需要通过另一个 Web 服务检查凭据并在 session 中设置一些属性,这些属性应与所有其他 Portlet 共享。

我知道这个主题:Liferay 7 Shared Session Attributes

问题是我无法在 Authenticator 类中检索请求(以及 portletRequest)。

我尝试使用 PortalSessionThreadLocal 解决方案,如下所示:

String sharedKey = "LIFERAY_SHARED_" + key;
HttpSession session = PortalSessionThreadLocal.getHttpSession();
session.setAttribute(sharedKey, bean);

但我无法像这样在另一个 portlet 中检索此 session 属性:

key = "LIFERAY_SHARED_" + key;
HttpSession session = PortalSessionThreadLocal.getHttpSession();
Object bean = session.getAttribute(key);

你能给我推荐一些解决方案吗?

最佳答案

在我看来,您的案例有两个问题需要寻找,一个是您链接的帖子中建议的范围。

第二个事实是,如果启用了网络钓鱼防护, session 属性通常不会在身份验证管道中保留下来。

只有列入白名单的属性可以保留,并且应该在您的 portal-ext.properties 上配置这些属性。

关于java - Liferay 7 - 在 Authenticator 类中设置共享 session 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54691278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com