users@glassfish.java.net

Re: Synchronization of portal http session & portlet sessions

From: Jan Luehe <Jan.Luehe_at_Sun.COM>
Date: Thu, 07 Dec 2006 11:15:50 -0800

Hi Alonso,

A. Alonso Dominguez wrote On 12/07/06 09:52,:

> Hi there,
>
>
>
> I'm a newer user of the Sun's application web Server (glassfish) and I
> want to deploy and run correctly my portal implementation, which is
> deployed on Tomcat and runs correctly there. My portal is packaged as
> an .EAR file which contains a webmodule for each portlet application
> ("/main", "/webmail", "/testsuite") and a webmodule for the portal's
> root context ("/portal") (the one which invokes portlets through the
> portlet container).
>
>
>
> Currently the .EAR file which contains the whole portal implementation
> is correctly deployed by the admin console and it seems to run
> correctly but I found a problem: If I close my session once I have
> been authenticated, it is just closed for the portal's root context.
> If I authenticate now with different user and password at the portal's
> root context I'm the user but at the portlet application contexts I'm
> still the first user that was authenticated.
>
>
>
> I had this problem before when I deployed my portal in Tomcat 5.5. The
> way to solve it is configuring the Tomcat's HTTP connector to use
> "emptySessionPath=true". This way the portlet application contexts
> have the share the same sessionID than the portal's root context.
>
>
>
> Now I'm working with glassfish and I would like to get this correctly
> running. Taking a look to the glassfish's documentation it seems that
> there is no way to configure the HTTP listener to use
> "emptySessionPath=true" because I'm getting this message:
>
>
>
> WEB0327: Unsupported http-listener property (emptySessionPath) is
> being ignored
>
>
>
> Any help to configure this or to solve my problem will be appreciated.
>

The equivalent config in GlassFish is done at the webapp (context) level,
by adding a sun-web.xml to your webapp, with these contents:

  <?xml version="1.0" encoding="UTF-8"?>
  <sun-web-app>
    <session-config>
      <cookie-properties>
        <property name="cookiePath" value="/" />
      </cookie-properties>
    </session-config>
  </sun-web-app>

You'll have to add this sun-web.xml to each of your webapps.

The following additional cookie properties may be configured this way:

  "cookieMaxAgeSeconds"
  "cookieDomain"
  "cookieComment"

Hope this helps.


Jan


>
>
> Regards,
>
> Alonso
>