Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-43568

HttpSessionWrapper needs hashCode and equals to make sure it does not hide internal session comparison.



      For deployed portlets, upon each request, we will wrap the real portlet session and portal session together and add it to PortletSessionTracker by PortletServlet, so it can be invalidated when portal session gets invalidated.

      1) When "session.id.delimiter" is not set
      We wrapped portal and portlet session in a SharedSessionWrapper directly, since we create a new instance of SharedSessionWrapper each time, so we need to add hashCode and equals to it, to make sure we do not keep replicated portal and portlet session in PortletSessionTracker, that is what the fix of LPS-26931 did.

      2) When "session.id.delimiter" is set
      We wrapped both portal and portlet session in a CompoundSessionIdHttpSession first, and then wrap the CompoundSessionIdHttpSession instances in SharedSessionWrapper. Since we create a new instance of CompoundSessionIdHttpSession each time, we face the same problem as the first one.


          Issue Links



              • Votes:
                0 Vote for this issue
                1 Start watching this issue


                • Created:
                  Days since last comment:
                  6 years, 29 weeks, 6 days ago


                  Version Package
                  6.2.10 EE GA1
                  7.0.0 M3