$::auth nicht löschen sondern nur resetten. (Experimentell)
authorSven Schöling <s.schoeling@linet-services.de>
Thu, 21 Apr 2011 10:30:43 +0000 (12:30 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Thu, 21 Apr 2011 10:30:43 +0000 (12:30 +0200)
SL/Auth.pm
SL/Dispatcher.pm

index 978fe49..3b14def 100644 (file)
@@ -36,6 +36,15 @@ sub new {
   return $self;
 }
 
+sub reset {
+  my ($self, %params) = @_;
+
+  $self->{SESSION}          = { };
+  $self->{FULL_RIGHTS}      = { };
+  $self->{RIGHTS}           = { };
+  $self->{unique_counter}   = 0;
+}
+
 sub get_user_dbh {
   my ($self, $login) = @_;
   my %user = $self->read_user($login);
index 3bf1206..b827acc 100644 (file)
@@ -84,6 +84,7 @@ sub pre_startup_setup {
   {
     no warnings 'once';
     $::lxdebug     = LXDebug->new;
+    $::auth        = SL::Auth->new;
     $::form        = undef;
     %::myconfig    = ();
     %::called_subs = (); # currently used for recursion detection
@@ -159,7 +160,6 @@ sub handle_request {
   $::cgi         = CGI->new('');
   $::locale      = Locale->new($::lx_office_conf{system}->{language});
   $::form        = Form->new;
-  $::auth        = SL::Auth->new;
   %::called_subs = ();
 
   eval { ($routing_type, $script_name, $action) = _route_request($script_name); 1; } or return;
@@ -234,8 +234,7 @@ sub handle_request {
   $::myconfig = ();
   Form::disconnect_standard_dbh;
   $::auth->expire_session_keys->save_session;
-  $::auth->dbdisconnect;
-  $::auth     = undef;
+  $::auth->reset;
 
   $::lxdebug->end_request;
   $::lxdebug->leave_sub;