> Sorry about that, I should have left David answer it first time :(
>
> --
> Rapha�l Luta - [EMAIL PROTECTED]

I gave this issue some thought, and I think only solution that works in
clustered environments and solves the multiple sessions per user issue is
to store a login counter to the DB/LDAP user entry. Every login increments
the counter, and every logout decrements the counter. And if counter is
not 0, user has logged it. This would require us to perform additional
datastore updates though, and it makes user management more complicated.

A quick and easy "dummy" solution is to store this counter to a Hashtable
in UserManagement implementation, and when getUsers() is performed, it
checks if the user already has an entry in that Hashtable, and does not
build the user object from datastore if the user object is already
constructed. This does not work in clustered environments, but would
however be better than the current solution, where we cannot really know
who has logged in to the system (except by running 'getUser(principal)'
for every user returned by 'getUsers()', and this is really _not_ a good
thing to do). No duplicate user objects would be created using this
approach.

How commonly is Jetspeed run in clustered environments?

Regards,

Sami

-- 

Sami Leino
Software Developer, Netorek Oy, Turku, Finland
Email: [EMAIL PROTECTED]
Phone: +358 44 0140499



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

Reply via email to