[Zope3-Users] session start/end
FB
fbo2 at gmx.net
Fri Apr 20 09:26:27 EDT 2007
Hi,
On Thu, Apr 19, 2007 at 12:40:54PM +0200, Sascha Ottolski wrote:
> Hi,
>
> reading through zope.app.session, I couldn't find any built-in support
> for session_start and session_end events, similar to what existed in
> Zope2. Are there any recipies for such a use case? Searching the web
> didn't gave me pointers.
>
> And by the way, is it possible to programmatically access the sessions
> of other users? If so, how would one do this? Of course I'm well aware
> that security issues might arise.
>
> The use case for both questions would be to find out if a user
> is "online", as an information displayed to other users.
There's a persistent object in software space which stores the user session data.
However, there's no identification of the user stored in there - except of the
login credentials (->only if you use the Session-Credential-Plugin of PAU).
You'll have to either assign i.e. the principal id to a user's session data
on session creation or be happy with the login name.
Example:
from zope.app.session.interfaces import ISessionDataContainer
from zope.app import zapi
def getlogins():
sdc=zapi.getUtility(ISessionDataContainer)
sessions=sdc.values()
for session in sessions:
if 'zope.app.authentication.browserplugins' in session:
yield session['zope.app.authentication.browserplugins'].getLogin()
(untestet, dangerous, no warranty, ...)
Regards,
Frank
More information about the Zope3-users
mailing list