Merge branch 'dev'
authorMikal Kolbein Gule <m.k.gule@usit.uio.no>
Mon, 16 Jul 2012 11:57:01 +0000 (13:57 +0200)
committerMikal Kolbein Gule <m.k.gule@usit.uio.no>
Mon, 16 Jul 2012 11:57:01 +0000 (13:57 +0200)
local/plugins/RT-Authen-ExternalAuth/lib/RT/Authen/ExternalAuth.pm

index fa7609f..31bd15d 100644 (file)
@@ -166,12 +166,12 @@ sub DoAuth {
     # If we got here and don't have a user loaded we must have failed to
     # get a full, valid user from an authoritative external source.
     unless ($session->{'CurrentUser'} && $session->{'CurrentUser'}->Id) {
-        delete $session->{'CurrentUser'};
+       $session->{'CurrentUser'} = RT::CurrentUser->new;
         return (0, "No User");
     }
 
     unless($success) {
-        delete $session->{'CurrentUser'};
+       $session->{'CurrentUser'} = RT::CurrentUser->new;
        return (0, "Password Invalid");
     }
     
@@ -206,7 +206,7 @@ sub DoAuth {
         # Now that we definitely have up-to-date user information,
         # if the user is disabled, kick them out. Now!
         if ($session->{'CurrentUser'}->UserObj->Disabled) {
-            delete $session->{'CurrentUser'};
+            $session->{'CurrentUser'} = RT::CurrentUser->new;
             return (0, "User account disabled, login denied");
         }
     }
@@ -223,8 +223,8 @@ sub DoAuth {
             # Do not delete the session. User stays logged in and
             # autohandler will not check the password again
     } else {
-            # Make SURE the session is deleted.
-            delete $session->{'CurrentUser'};
+            # Make SURE the session is purged to an empty user.
+            $session->{'CurrentUser'} = RT::CurrentUser->new;
             return (0, "Failed to authenticate externally");
             # This will cause autohandler to request IsPassword 
             # which will in turn call IsExternalPassword