public package Foswiki::AccessControlException is a Error web - the web which was being accessed
topic - the topic being accessed (if any)
user - canonical username of the person doing the accessing. Use the methods of the Foswiki::Users class to get more information about the user.
mode - the access mode e.g. CHANGE, VIEW etc
reason a text string giving the reason for the refusal.
The exception may be thrown by plugins. If a plugin throws the exception, it will normally be caught and the browser redirected to a login screen (if the user is not logged in) or reported (if they are and just don't have access).
AccessControlException.
use Error qw(:try);
use Foswiki::AccessControlException;
...
unless (
Foswiki::Func::checkAccessPermission(
"VIEW", $session->{user}, undef, $topic, $web
)
)
{
throw Foswiki::AccessControlException( "VIEW", $session->{user}, $web,
$topic, $Foswiki::Meta::reason );
}
try { } catch { } structure.
my $exception;
try {
Foswiki::Func::moveWeb( "Oldweb", "Newweb" );
} catch Foswiki::AccessControlException with {
$exception = shift;
} otherwise {
...
};
ClassMethod new($mode, $user, $web, $topic, $reason) $mode - mode of access (view, change etc)
$user - canonical user name of user doing the accessing
$web - web being accessed
$topic - topic being accessed
$reason - string reason for failure
$e→{web} and $e→{reason}
ObjectMethod stringify() → $string Generate a summary string. This is mainly for debugging.