Liferay on weblogic doesn't invalidate portlet session -


i use liferay 6.2 ga4 portal on weblogic server 10.3.6.0 , found out 1 annoying problem.

  1. i log in usera.
  2. display portlet stores data portlet session.
  3. i log out.
  4. i log in userb.
  5. display same portlet stores data portlet session.
  6. portlet shows data of usera instead of userb.

i added ext-plugin debug log messages com.liferay.portal.kernel.servlet.portletsessionlistenermanager , com.liferay.portal.kernel.servlet.portletsessiontracker , found out session (sessionid) passed portletsessiontracker.add method different 1 passed invalidate method. see log messages below:

 2016-01-28 10:38:34,191 [portletsessiontracker:40] adding session id=4s6hme3ldwwuudoilk7-ytjlqjh1lncitkzoeh9yvsbm2usjuxu9 2016-01-28 10:40:38,875 [portletsessionlistenermanager:187] destroying session id=s4qhmpdastlkwkmeo6gdlt4w0u-siglu_gna1ljelxttqvsaryed 2016-01-28 10:40:38,875 [portletsessiontracker:73] removing session id=s4qhmpdastlkwkmeo6gdlt4w0u-siglu_gna1ljelxttqvsaryed 

session.invalidate(); in com.liferay.portal.kernel.servlet.portletsessiontracker#invalidate not called.
there not error in portlet because on tomcat works ok. , on tomcat session.invalidate(); called.

weblogic.xml:

<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> 

does know problem? idea or help.

the problem had tricky reason. our customer wanted have different name session id cookie - not default jsessionid. set modified jsessionid on liferay portal war not on wars theme , portlet apps. these wars therefore used default jsessionid whereas portal used modified one. default 1 used add method, modified 1 invalidate method.

solution modify session id cookie in portlet , theme wars.


Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -