Diff for /loncom/auth/lonauth.pm between versions 1.60 and 1.64

version 1.60, 2003/11/21 22:10:25 version 1.64, 2005/02/07 20:33:04
Line 181  sub success { Line 181  sub success {
 # -------------------------------------------------------- Menu script and info  # -------------------------------------------------------- Menu script and info
     my $windowinfo=&Apache::lonmenu::open($clientos);      my $windowinfo=&Apache::lonmenu::open($clientos);
     my $startupremote=&Apache::lonmenu::startupremote($lowerurl);      my $startupremote=&Apache::lonmenu::startupremote($lowerurl);
       my $remoteinfo=&Apache::lonmenu::load_remote_msg($lowerurl);
     my $setflags=&Apache::lonmenu::setflags();      my $setflags=&Apache::lonmenu::setflags();
     my $maincall=&Apache::lonmenu::maincall();      my $maincall=&Apache::lonmenu::maincall();
     my $bodytag=&Apache::loncommon::bodytag('Successful Login');      my $bodytag=&Apache::loncommon::bodytag('Successful Login');
     my $add=&addcontent();      my $add=&addcontent();
       my $continuelink;
       if (($ENV{'browser.interface'} eq 'textual') ||
           ($ENV{'environment.remote'} eq 'off')) {
    $continuelink="<a href=\"$lowerurl\">".&mt('Continue')."</a>";
       }
 # ------------------------------------------------- Output for successful login  # ------------------------------------------------- Output for successful login
   
     $r->send_cgi_header(<<ENDHEADER);      $r->send_cgi_header(<<ENDHEADER);
Line 210  $windowinfo Line 216  $windowinfo
 <h1>$lt{'wel'}</h1>  <h1>$lt{'wel'}</h1>
 $lt{'mes'}.<p>  $lt{'mes'}.<p>
 <a href="/adm/$lt{'log'}">$lt{'pro'}?</a></p>  <a href="/adm/$lt{'log'}">$lt{'pro'}?</a></p>
   $remoteinfo
 $maincall  $maincall
   $continuelink
 </body>  </body>
 </html>  </html>
 ENDSUCCESS  ENDSUCCESS
Line 231  ENDFHEADER Line 239  ENDFHEADER
 <head>  <head>
 <title>Unsuccessful Login to the LearningOnline Network with CAPA</title>  <title>Unsuccessful Login to the LearningOnline Network with CAPA</title>
 </head>  </head>
 <html>  
 $bodytag  $bodytag
 <h1>Sorry ...</h1>  <h1>Sorry ...</h1>
 <p><b>$message</b></p>  <p><b>$message</b></p>
Line 268  ENDRFHEADER Line 275  ENDRFHEADER
 <head>  <head>
 <title>Rerouting Login to the LearningOnline Network with CAPA</title>  <title>Rerouting Login to the LearningOnline Network with CAPA</title>
 </head>  </head>
 <html>  
 $bodytag  $bodytag
 <h1>Sorry ...</h1>  <h1>Sorry ...</h1>
 Please <a href="/">log in again</a>.  Please <a href="/">log in again</a>.
Line 310  ENDFHEADER Line 316  ENDFHEADER
 <head>  <head>
 <title>Already logged in</title>  <title>Already logged in</title>
 </head>  </head>
 <html>  
 $bodytag  $bodytag
 <h1>You are already logged in</h1>  <h1>You are already logged in</h1>
 <p>Please either <a href="/adm/roles">continue the current session</a> or  <p>Please either <a href="/adm/roles">continue the current session</a> or
Line 344  ENDFAILED Line 349  ENDFAILED
  failed($r,'Username, password and domain need to be specified.');   failed($r,'Username, password and domain need to be specified.');
         return OK;          return OK;
     }      }
   
   # split user logging in and "su"-user
   
       ($FORM{'uname'},$FORM{'suname'})=split(/\:/,$FORM{'uname'});
     $FORM{'uname'} =~ s/\W//g;      $FORM{'uname'} =~ s/\W//g;
       $FORM{'suname'} =~ s/\W//g;
     $FORM{'udom'}  =~ s/\W//g;      $FORM{'udom'}  =~ s/\W//g;
   
     my $role   = $r->dir_config('lonRole');      my $role   = $r->dir_config('lonRole');
Line 401  ENDFAILED Line 411  ENDFAILED
  ($firsturl=~/^\/adm\/(logout|remote)/)) {   ($firsturl=~/^\/adm\/(logout|remote)/)) {
  $firsturl='/adm/roles';   $firsturl='/adm/roles';
     }      }
   # --------------------------------- Are we attempting to login as somebody else?
     success($r,$FORM{'uname'},$FORM{'udom'},$authhost,$firsturl);      if ($FORM{'suname'}) {
   # ------------ see if the original user has enough privileges to pull this stunt
    if (&Apache::lonnet::privileged($FORM{'uname'},$FORM{'udom'})) {
   # ---------------------------------------------------- see if the su-user exists
       unless (&Apache::lonnet::homeserver($FORM{'suname'},$FORM{'udom'})
    eq 'no_host') {
    &Apache::lonnet::logthis(&Apache::lonnet::homeserver($FORM{'suname'},$FORM{'udom'}));
   # ------------------------------ see if the su-user is not too highly privileged
    unless (&Apache::lonnet::privileged($FORM{'suname'},$FORM{'udom'})) {
   # -------------------------------------------------------- actually switch users
       &Apache::lonnet::logperm('User '.$FORM{'uname'}.' at '.$FORM{'udom'}.
    ' logging in as '.$FORM{'suname'});
       $FORM{'uname'}=$FORM{'suname'};
    } else {
       &Apache::lonnet::logthis('Attempted switch user to privileged user');
    }
       }
    } else {
       &Apache::lonnet::logthis('Non-privileged user attempting switch user');
    }
       }
       &success($r,$FORM{'uname'},$FORM{'udom'},$authhost,$firsturl);
     return OK;      return OK;
 }  }
   

Removed from v.1.60  
changed lines
  Added in v.1.64


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>