On Mon, 8 Jul 2002, Denis Benoit wrote:

> I think it would be difficult, since JSESSIONID is distinct for each
> webapp on a Tomcat, only JSESSIONIDSSO (if the SingleSignon valve
> is activated) is common to all webapps.
> 
> I'll try to think of something, but if you think of something first,
> let me know :)

Well, my thinking is that in order to have 'single signon' you need 
a way to have a single cookie ( or path param if cookies are disabled )
across all webapps. Whatever mean to get that as JSESSIONIDSSO, 
it can be used for JSESSIONID as well.

So I would add a hook into the session id generator - and have
the single signon use the hook to push session ids.

If we want to have distinct sessions in each webapp - the session
id would consist of the 'common' part and a per-webapp part.

In general, my view of single signon is that each app must 
redirect to an auth application ( similar with kerberos for example)
and use the certificate as session id for all webapps.

Costin


> 
> On Mon, 8 Jul 2002 [EMAIL PROTECTED] wrote:
> 
> > +1
> > 
> > But before doing that - would it be possible to replace JSESSIONIDSSO 
> > with a mechanism relying only on JSESSIONID ? 
> > 
> > Even if we patch mod_jk, there are other load balancing solutions
> > ( hardware, etc ) - it would be much simpler if from 'outside'
> > we would only use the standard JSESSIONID cookie / path param.
> > 
> > Costin
> > 
> > On Thu, 4 Jul 2002, Denis Benoit wrote:
> > 
> > > Hi,
> > > 
> > > With the current code (TC 4.1.6), the single signon does not work with the
> > > loadbalancer connector.
> > > 
> > > If a user was logged in a given webapp, the loadbalancer looks at the
> > > JSESSIONID cookie (or URL parameter) to dispatch the request properly to the
> > > tomcat where the user was logged on.  But if the user hits another webapp,
> > > the JSESSIONID is not present anymore and the dispatcher applies its
> > > round-robin logic to dispatch the request to any tomcat.  It nullifies the
> > > effect of the single signon.  There is two problem that prevent it to work.
> > > 
> > > 1. On the Tomcat side, the generateSessionId() method of
> > >    org.apache.catalina.authenticator.AuthenticatorBase does not append
> > >    the jvmRoute of the Engine if one is specified.  So when a user changes
> > >    webapp, the web connector dispatcher does not have any information to
> > >    properly route the request;
> > > 
> > > 2. The current loadbalancer code specifically look for the JSESSIONID cookie
> > >    and does not look for a JSESSIONIDSSO cookie.
> > > 
> > > I could provide a patch to org.apache.catalina.authenticator.AuthenticatorBase
> > > to add the jvmRoute to the session id; in fact it is a copy of the code from
> > > org.apache.catalina.session.ManagerBase.
> > > 
> > > The change in:
> > > 
> > >   ./jk/native/common/jk_lb_worker.c
> > >   ./jk/native2/common/jk_requtil.c
> > > 
> > > is also trivial, first the connector must look for the JSESSIONID cookie (or
> > > param), and if not found it should look for the JSESSIONIDSSO cookie (or
> > > param).  Then the same logic should be applied if either one is found.
> > > 
> > > Comments?
> > > 
> > > 
> > 
> 
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to