Session weblogic上的Liferay不';t使portlet会话无效

Session weblogic上的Liferay不';t使portlet会话无效,session,liferay,weblogic,Session,Liferay,Weblogic,我在WebLogic server 10.3.6.0上使用Liferay 6.2 GA4 portal,发现了一个恼人的问题 我以用户身份登录 显示将数据存储到portlet会话的portlet 我注销 我以UserB身份登录 显示将数据存储到portlet会话的同一portlet Portlet显示UserA而不是UserB的数据 我通过ext插件向com.liferay.portal.kernel.servlet.PortletSessionListenerManager和com.lifer

我在WebLogic server 10.3.6.0上使用Liferay 6.2 GA4 portal,发现了一个恼人的问题

  • 我以用户身份登录
  • 显示将数据存储到portlet会话的portlet
  • 我注销
  • 我以UserB身份登录
  • 显示将数据存储到portlet会话的同一portlet
  • Portlet显示UserA而不是UserB的数据
  • 我通过ext插件向
    com.liferay.portal.kernel.servlet.PortletSessionListenerManager
    com.liferay.portal.kernel.servlet.PortletSessionTracker
    添加了一些调试日志消息,并找到了该会话(sessionId)传递给PortletSessionTracker.add方法与传递给invalidate方法的方法不同。请参阅下面的日志消息:

    2016-01-28 10:38:34,191 [PortletSessionTracker:40] Adding session with id=4s6HmE3LdwWuUdOilk7-ytJLqJh1LnCiTKzoeH9YVSBM2USJuxU9 2016-01-28 10:40:38,875 [PortletSessionListenerManager:187] Destroying session with id=S4qHmPDaSTLkwkmEo6gDLt4W0U-siGlU_GNa1LJelXTtQvSaRyEd 2016-01-28 10:40:38,875 [PortletSessionTracker:73] Removing session with id=S4qHmPDaSTLkwkmEo6gDLt4W0U-siGlU_GNa1LJelXTtQvSaRyEd
    有人知道可能是什么问题吗?谢谢你的任何想法或帮助。

    这个问题有一个棘手的原因。我们的客户希望会话id cookie具有不同的名称,而不是默认的jsessionid。我在liferay portal war上设置了修改后的jsessionid,但在主题和portlet应用程序等其他war上没有设置。因此,这些WAR使用默认的jsessionid,而portal使用修改后的jsessionid。默认值由add方法使用,修改后的值由invalidate方法使用。
    所以解决方案是在portlet和主题战中修改会话id cookie。

    已经有几年没有使用LR了。它保留了一个会话,(通过cookie?)保留在客户端上。LR会话的设计有些有状态。会话管道最多可重复使用半小时(服务器中有超时设置)。这个组合可能就是您正在运行的。通过菜单交换用户的LR管理员没有这个问题。在LR和Weblogic中查找“保持会话”超时。
    <weblogic-web-app
            xmlns="http://xmlns.oracle.com/weblogic/weblogic-web-app"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.2/weblogic-web-app.xsd"
            >
        <jsp-descriptor>
            <keepgenerated>true</keepgenerated>
            <page-check-seconds>60</page-check-seconds>
        </jsp-descriptor>
    
        <session-descriptor>
            <debug-enabled>true</debug-enabled>
            <persistent-store-type>replicated_if_clustered</persistent-store-type>
            <cookie-secure>true</cookie-secure>
        </session-descriptor>
    
        <container-descriptor>
            <filter-dispatched-requests-enabled>false</filter-dispatched-requests-enabled>
            <prefer-application-packages>
                <package-name>antlr.*</package-name>
                <package-name>com.ctc.wstx.*</package-name>
                <package-name>org.antlr.*</package-name>
                <package-name>org.apache.commons.lang.*</package-name>
                <package-name>org.mozilla.*</package-name>
                <package-name>org.xmlpull.*</package-name>
            </prefer-application-packages>
            <optimistic-serialization>true</optimistic-serialization>
            <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
        </container-descriptor>
    
        <context-root>/</context-root>
    
        <wl-dispatch-policy>ejbtp_liferay</wl-dispatch-policy>
    
    </weblogic-web-app>