Diff for /loncom/auth/lonacc.pm between versions 1.105 and 1.110

version 1.105, 2007/01/12 15:06:18 version 1.110, 2007/04/27 22:03:02
Line 160  sub sso_login { Line 160  sub sso_login {
     my $domain = $r->dir_config('lonDefDomain');      my $domain = $r->dir_config('lonDefDomain');
     my $home=&Apache::lonnet::homeserver($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)/) {
    &Apache::lonnet::logthis(" SSO authorized user $user ");
  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,$user,$domain,$home,'noredirect');      &Apache::lonauth::success($r,$user,$domain,$home,'noredirect');
             $env{'request.sso.login'} = 1;              $env{'request.sso.login'} = 1;
               if (defined($r->dir_config("lonSSOReloginServer"))) {
                   $env{'request.sso.reloginserver'} =
                       $r->dir_config('lonSSOReloginServer');
               }
     $r->internal_redirect('/adm/switchserver');      $r->internal_redirect('/adm/switchserver');
     $r->set_handlers('PerlHandler'=> undef);      $r->set_handlers('PerlHandler'=> undef);
  } else {   } else {
Line 176  sub sso_login { Line 181  sub sso_login {
       'server'    => $r->dir_config('lonHostID'),        'server'    => $r->dir_config('lonHostID'),
       'sso.login' => 1        'sso.login' => 1
       );        );
               if (defined($r->dir_config("lonSSOReloginServer"))) {
                   $info{'sso.reloginserver'} = 
                       $r->dir_config('lonSSOReloginServer'); 
               }
     my $token =       my $token = 
  &Apache::lonnet::tmpput(\%info,   &Apache::lonnet::tmpput(\%info,
  $r->dir_config('lonHostID'));   $r->dir_config('lonHostID'));
Line 185  sub sso_login { Line 194  sub sso_login {
  }   }
  return OK;   return OK;
     } elsif (defined($r->dir_config('lonSSOUserUnknownRedirect'))) {      } elsif (defined($r->dir_config('lonSSOUserUnknownRedirect'))) {
    &Apache::lonnet::logthis(" SSO authorized unknown user $user ");
         $r->subprocess_env->set('SSOUserUnknown' => $user);          $r->subprocess_env->set('SSOUserUnknown' => $user);
         $r->subprocess_env->set('SSOUserDomain' => $domain);          $r->subprocess_env->set('SSOUserDomain' => $domain);
  $r->internal_redirect($r->dir_config('lonSSOUserUnknownRedirect'));   $r->internal_redirect($r->dir_config('lonSSOUserUnknownRedirect'));
Line 197  sub sso_login { Line 207  sub sso_login {
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     my $requrl=$r->uri;      my $requrl=$r->uri;
       if (&Apache::lonnet::is_domainimage($requrl)) {
           return OK;
       }
     my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));      my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));
     my $lonid=$cookies{'lonID'};      my $lonid=$cookies{'lonID'};
     my $cookie;      my $cookie;
Line 274  sub handler { Line 287  sub handler {
  $env{'user.domain'};   $env{'user.domain'};
     if ($requrl !~ /^\Q$start\E/) {      if ($requrl !~ /^\Q$start\E/) {
  $env{'user.error.msg'}="$requrl:bre:1:1:Access Denied";   $env{'user.error.msg'}="$requrl:bre:1:1:Access Denied";
    return HTTP_NOT_ACCEPTABLE;
       }
    }
    if ($requrl =~ m|^/zipspool/|) {
       my $start='/zipspool/zipout/'.$env{'user.name'}.":".
    $env{'user.domain'};
       if ($requrl !~ /^\Q$start\E/) {
    $env{'user.error.msg'}="$requrl:bre:1:1:Access Denied";
  return HTTP_NOT_ACCEPTABLE;   return HTTP_NOT_ACCEPTABLE;
     }      }
  }   }

Removed from v.1.105  
changed lines
  Added in v.1.110


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