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.

    Details

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tina.tian Tina Tian
              Reporter:
              eric.min Eric Min (Inactive)
              Participants of an Issue:
              Recent user:
              Esther Sanz
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                6 years, 45 weeks, 5 days ago

                  Packages

                  Version Package
                  6.2.10 EE GA1
                  7.0.0 M3