Session 为什么我能';t从AutoLogin类中设置的portlet读取会话属性

Session 为什么我能';t从AutoLogin类中设置的portlet读取会话属性,session,liferay,Session,Liferay,我试图从我的portlet访问在自动登录阶段设置的会话属性,但未成功 在AutoLogin类中设置属性: @覆盖 公共字符串[]登录(HttpServletRequest请求、HttpServletResponse响应)引发AutoLoginException{ request.getSession().setAttribute(“我的属性键”、“你好世界”); ... } 从Portlet访问属性: @覆盖 public void doView(RenderRequest RenderReq

我试图从我的portlet访问在自动登录阶段设置的会话属性,但未成功

在AutoLogin类中设置属性:

@覆盖
公共字符串[]登录(HttpServletRequest请求、HttpServletResponse响应)引发AutoLoginException{
request.getSession().setAttribute(“我的属性键”、“你好世界”);
...
}
从Portlet访问属性:

@覆盖
public void doView(RenderRequest RenderRequest,RenderResponse RenderResponse)抛出IOException、PortletException{
Object attribute=PortalUtil.getHttpServletRequest(renderRequest.getSession().getAttribute(“我的属性键”);
...
}

看看Liferay Wiki上的内容。

因为它们是不同的会话。为什么?每个(tomcat)应用程序都有单独的会话范围吗?是的,确实有!通常,您不能在上下文之间共享会话属性。想想看。部署在tomcat上的每个应用程序都可以是不同的网站。如果他们都被允许共享属性,那将是一场噩梦。但是我相信Liferay有解决这个问题的方法。你应该发布实际的答案/解决方案,即使只是从链接中复制page@JaroslavZáruba StackOverflow是协作的。如果可以,请编辑/建议编辑,以改进此答案。