X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDispatcher%2FAuthHandler.pm;h=449d68492a69e3ca9ff436578c19e8b2a1d61df7;hb=1b032ef45d886922f1fe347ec234c9b0c8c50efd;hp=22b2be44d17c0c0ae9f768f85f85746fa8724149;hpb=469ca9fc3cac624073270fc3217766dbb7aba253;p=kivitendo-erp.git diff --git a/SL/Dispatcher/AuthHandler.pm b/SL/Dispatcher/AuthHandler.pm index 22b2be44d..449d68492 100644 --- a/SL/Dispatcher/AuthHandler.pm +++ b/SL/Dispatcher/AuthHandler.pm @@ -14,14 +14,16 @@ sub handle { my ($self, %param) = @_; my $auth_level = $self->get_auth_level(%param); + my $handler_name = "SL::Dispatcher::AuthHandler::" . ucfirst($auth_level); $self->{handlers} ||= {}; $self->{handlers}->{$handler_name} ||= $handler_name->new; - $self->{handlers}->{$handler_name}->handle; + my $ok = $self->{handlers}->{$handler_name}->handle(%param); return ( auth_level => $auth_level, keep_auth_vars => $self->get_keep_auth_vars(%param), + auth_ok => $ok, ); } @@ -38,7 +40,7 @@ sub get_auth_level { sub get_keep_auth_vars { my ($self, %param) = @_; - return $param{routing_type} eq 'controller' ? "SL::Controller::$param{controller}"->keep_auth_vars_in_form : 0; + return $param{routing_type} eq 'controller' ? "SL::Controller::$param{controller}"->keep_auth_vars_in_form(action => $param{action}) : 0; } 1;