[Zope] Unable to access AUTHENTICATED_USER in DTML method after declared as public

Jens Vagelpohl jens@zope.com
Tue, 31 Jul 2001 07:49:56 -0400


this is a security machinery "feature" whereby processing is cut short if 
a method is declared "public", saving resources and time. the drawback: 
the user accessing the method is not identified correctly during execution 
of it.

as a workaround you can declare the method protected by a permission that 
everyone, including Anonymous, has. something like "View".

security.declareProtected( 'View', 'index_html' )

after that you should be able to find the user while in the method.

jens


On Tuesday, July 31, 2001, at 04:05 , Dirksen wrote:

> Hi,
>
> When I declare the DTML method index_html as public, like this:
> security.declarePublic('index_html')
>
> The index_html complains unable to access REQUEST.AUTHENTICATED_USER. Is 
> it intentional
> to remove this variable when some method is declared as public? How can I 
> determin if the
> visitor has logged in in a method that I have to declare public?
>
> Cheers
> Dirksen