]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Dispatcher.pm
Merge branch 'master' of lx-office.linet-services.de:lx-office-erp
[mfinanz.git] / SL / Dispatcher.pm
index e728976936a8d34936c37c32bbdcc2013ebdb737..9c9e60566c6a7f10cdfcacb977343dade7a63ed3 100644 (file)
@@ -164,6 +164,11 @@ sub handle_request {
   $::form        = Form->new;
   %::called_subs = ();
 
+  my $session_result = $::auth->restore_session;
+  $::auth->create_or_refresh_session;
+
+  $::form->read_cgi_input;
+
   eval { ($routing_type, $script_name, $action) = _route_request($script_name); 1; } or return;
 
   if ($routing_type eq 'old') {
@@ -180,15 +185,12 @@ sub handle_request {
     $::form->{script} = "controller.pl";
   }
 
-  pre_request_checks();
-
   eval {
-    my $session_result = $::auth->restore_session;
-    $::auth->create_or_refresh_session;
+    pre_request_checks();
 
     $::form->error($::locale->text('System currently down for maintenance!')) if -e ($::lx_office_conf{paths}->{userspath} . "/nologin") && $script ne 'admin';
 
-    if ($script eq 'login' or $script eq 'admin' or $script eq 'kopf') {
+    if ($script eq 'login' or $script eq 'admin') {
       $::form->{titlebar} = "Lx-Office " . $::locale->text('Version') . " $::form->{version}";
       ::run($session_result);
 
@@ -202,7 +204,7 @@ sub handle_request {
 
       show_error('login/password_error', 'password') if SL::Auth::OK != $::auth->authenticate($::form->{login}, $::form->{password});
 
-      $::auth->set_session_value('login', $::form->{login}, 'password', $::form->{password});
+      $::auth->store_credentials_in_session(login => $::form->{login}, password => $::form->{password});
       $::auth->create_or_refresh_session;
       $::auth->delete_session_value('FLASH');
       delete $::form->{password};
@@ -231,13 +233,14 @@ sub handle_request {
   };
 
   # cleanup
+  $::auth->expire_session_keys->save_session;
+  $::auth->expire_sessions;
+  $::auth->reset;
+
   $::locale   = undef;
   $::form     = undef;
   $::myconfig = ();
   Form::disconnect_standard_dbh;
-  $::auth->expire_session_keys->save_session;
-  $::auth->expire_sessions;
-  $::auth->reset;
 
   $::lxdebug->end_request;
   $::lxdebug->leave_sub;