[Zope-dev] How can I find out who visited a URL within my Zope Product?

Craeg K Strong cstrong@arielpartners.com
Tue, 08 Oct 2002 17:48:51 -0400


Hello:

I would like to log the identity of the authenticated
user for *every* URL traversal within my Zope Product.

For example, let's say that my forms-based web application contains 50
screens.  They are all protected such that only authenticated users
can view them.  Any one of them could be bookmarked, so a user could
"jump in" at any point.

I want to record the fact that a user visited a screen, each and every
time they do so.

A natural place to do this would be in a pre-traversal hook, but I seem
to be stymied by the lack of authentication information in __bobo_traverse__
or __before_publishing_traverse__

Can anyone think of a way this could be done?

I suppose I could hack all of my ZPTs to call a "registerUser" method
by putting it in an empty <span> in their shared header, but that seems
to mix concerns.  Why should my ZPTs have knowledge of this workflow
requirement?

Thanks in advance!

--Craeg