Diff for /loncom/auth/lonacc.pm between versions 1.95 and 1.102

version 1.95, 2006/08/30 21:48:51 version 1.102, 2006/11/23 01:49:41
Line 44  sub cleanup { Line 44  sub cleanup {
     my ($r)=@_;      my ($r)=@_;
     if (! $r->is_initial_req()) { return DECLINED; }      if (! $r->is_initial_req()) { return DECLINED; }
     &Apache::lonnet::save_cache();      &Apache::lonnet::save_cache();
       &Apache::lontexconvert::jsMath_reset();
     return OK;      return OK;
 }  }
   
Line 153  sub sso_login { Line 154  sub sso_login {
  return undef;   return undef;
     }      }
   
       my ($user) = ($r->user =~ m/([a-zA-Z0-9_\-@.]*)/);
   
     my $domain = $r->dir_config('lonDefDomain');      my $domain = $r->dir_config('lonDefDomain');
     my $home=&Apache::lonnet::homeserver($r->user,$domain);      my $home=&Apache::lonnet::homeserver($user,$domain);
     if ($home !~ /(con_lost|no_host|no_such_host)/) {      if ($home !~ /(con_lost|no_host|no_such_host)/) {
  if ($r->dir_config("lonBalancer") eq 'yes') {   if ($r->dir_config("lonBalancer") eq 'yes') {
     # login but immeaditly go to switch server to find us a new       # login but immeaditly go to switch server to find us a new 
     # machine      # machine
     &Apache::lonauth::success($r,$r->user,$domain,$home,'noredirect');      &Apache::lonauth::success($r,$user,$domain,$home,'noredirect');
     $r->internal_redirect('/adm/switchserver');      $r->internal_redirect('/adm/switchserver');
       $r->set_handlers('PerlHandler'=> undef);
  } else {   } else {
     # need to login them in, so generate the need data that      # need to login them in, so generate the need data that
     # migrate expects to do login      # migrate expects to do login
     my %info=('ip'        => $r->connection->remote_ip(),      my %info=('ip'        => $r->connection->remote_ip(),
       'domain'    => $domain,        'domain'    => $domain,
       'username'  => $r->user,        'username'  => $user,
       'server'    => $r->dir_config('lonHostID'),        'server'    => $r->dir_config('lonHostID'),
       'sso.login' => 1        'sso.login' => 1
       );        );
Line 175  sub sso_login { Line 179  sub sso_login {
  $r->dir_config('lonHostID'));   $r->dir_config('lonHostID'));
     $env{'form.token'} = $token;      $env{'form.token'} = $token;
     $r->internal_redirect('/adm/migrateuser');      $r->internal_redirect('/adm/migrateuser');
       $r->set_handlers('PerlHandler'=> undef);
  }   }
  return OK;   return OK;
     } elsif (defined($r->dir_config('lonSSOUserUnkownRedirect'))) {      } elsif (defined($r->dir_config('lonSSOUserUnknownRedirect'))) {
  $r->internal_redirect($r->dir_config('lonSSOUserUnkownRedirect'));   $r->internal_redirect($r->dir_config('lonSSOUserUnknownRedirect'));
    $r->set_handlers('PerlHandler'=> undef);
  return OK;   return OK;
     }      }
     return undef;      return undef;
Line 194  sub handler { Line 200  sub handler {
   
     my $handle;      my $handle;
     if ($lonid) {      if ($lonid) {
  $handle=$lonid->value;   $handle=&LONCAPA::clean_handle($lonid->value);
         $handle=~s/\W//g;  
     }      }
   
     if (my $result = &sso_login($r,$lonid,$handle)) {      my $result = &sso_login($r,$lonid,$handle);
       if (defined($result)) {
  return $result   return $result
     }      }
   

Removed from v.1.95  
changed lines
  Added in v.1.102


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