[Zope] how to catch the error message following the failed
login via dtm l-try dtml-except
Dylan Reinhardt
zope@dylanreinhardt.com
11 Jun 2003 10:58:54 -0700
First off, I wouldn't use AUTHENTICATED_USER, it's deprecated.
Second, DTML works a better if you test for the existence of a variable
rather than just trapping for its absence (unlike Python).
<dtml-if foo> tests not only for the *truth* of foo, but its existence.
I'd suggest the following:
--------
<dtml-if "_.SecurityGetUser().getUserName() != 'Anonymous User'">
Restricted content / method goes here
<dtml-else>
Sorry, this content is restricted
</dtml-if>
--------
More simply, you could also use permissions to restrict object usage to
Authenticated Users.
HTH,
Dylan
On Wed, 2003-06-11 at 08:07, Deniz, Metin wrote:
> Hello everybody,
>
> I have the following problem:
> I have created a website which is generally accessible to everybody without
> the need to login(user = anonymous).
> Some areas of the site are reserved only to users who have an account in the
> acl users folders.
> When a user tries to access the restricted areas but does not have the right
> to or pushes the cancel button, then he gets the following error message:
>
> Site Error
> An error was encountered while publishing this resource.
>
> Unauthorized
>
> You are not authorized to access this resource.
>
> Traceback (innermost last):
> File C:\Zope\lib\python\ZPublisher\Publish.py, line 150, in publish_module
> File C:\Zope\lib\python\ZPublisher\Publish.py, line 114, in publish
> File C:\Zope\lib\python\Zope\__init__.py, line 158, in
> zpublisher_exception_hook
> (Object: logintest)
> File C:\Zope\lib\python\ZPublisher\Publish.py, line 89, in publish
> File C:\Zope\lib\python\ZPublisher\BaseRequest.py, line 404, in traverse
> File C:\Zope\lib\python\ZPublisher\HTTPResponse.py, line 511, in
> unauthorized
> Unauthorized: (see above)
>
>
> Here is the example code which produces this error:
>
> <dtml-var standard_html_header>
> <dtml-try>
> User: <dtml-var "AUTHENTICATED_USER.getUserName()">
> <dtml-except>
> Failed to login
> </dtml-try>
> <dtml-var standard_html_footer>
>
> Unfortunatelly it does not work. Instead I just get the above error message.
>
> Do you have any idea as how to do it?
>
>
> Regards,
>
>
>
> Metin Deniz
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://mail.zope.org/mailman/listinfo/zope
> ** No cross posts or HTML encoding! **
> (Related lists -
> http://mail.zope.org/mailman/listinfo/zope-announce
> http://mail.zope.org/mailman/listinfo/zope-dev )