When a user interface throws an
AccessControlException
this will be caught in
TWiki::UI
and results in
a redirect to an
oops
. The topic in the exception is not used though - the access violation is seemingly reported
for the topic that was last viewed using the current session.
We observe this when
TWikiUserRegistration submits to
/twiki/bin/register
to register a user but
the
register
scripts fails to store the email information in the freshly instantiated user topic, e.g., for
user '
JohnDoe'. The
AccessControlException
is thrown for topic '
JohnDoe' (I verified this) but
the oops displayed is for
Main.TwikiUserRegistration
.
I have not found a fix yet but it seems to me that
TWiki::OopsException::redirect()
should manipulate the
session and use its web and topic before calling
$session->redirect()
.
--
TWiki:Main/StefanWalter
- 2010-08-16