Diff for /loncom/auth/checkauthen.pm between versions 1.8 and 1.15

version 1.8, 2006/09/19 15:18:54 version 1.15, 2014/01/05 11:30:06
Line 36  use Apache::lonnet; Line 36  use Apache::lonnet;
 sub handler {  sub handler {
     my ($r) = @_;      my ($r) = @_;
   
       if ($r->uri() =~ m{^/res/adm/pages/[^/]+\.(gif|png)$}) {
           if ($r->user() eq '') {
               $r->user('public');
           }
           return OK;
       }
   
       if (&Apache::lonnet::is_domainimage($r->uri)) {
           if ($r->user() eq '') {
               $r->user('public');
           }
           return OK;
       }
   
     if ($r->auth_type() ne 'LONCAPA') {      if ($r->auth_type() ne 'LONCAPA') {
  return DECLINED;   return DECLINED;
     }      }
Line 51  sub handler { Line 65  sub handler {
     if ($env{'user.name'} eq 'public'       if ($env{'user.name'} eq 'public' 
  && $env{'user.domain'} eq 'public') {   && $env{'user.domain'} eq 'public') {
  if ($env{'request.publicaccess'} ) {   if ($env{'request.publicaccess'} ) {
               if ($r->user() eq '') {
                   $r->user('public');
               }
     return OK;      return OK;
  } else {   } else {
     return $fail;      return $fail;
  }   }
     }      }
   
     my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));      my %user;
     my $lonid=$cookies{'lonID'};      my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user);
     my $handle;      if ($handle eq '') {
     if ($lonid) {  
         my $handle = $lonid->value;  
         $handle=~s/\W//g;  
         $handle = $r->dir_config('lonIDsDir')."/$handle.id";  
     } else {  
         $handle = $env{'user.environment'};          $handle = $env{'user.environment'};
           if (($handle ne '') && ($r->user() eq '')) {
               if ($env{'user.domain'} eq $r->dir_config('lonDefDomain')) {
                   $r->user($env{'user.name'});
               } else {
                   $r->user($env{'user.name'}.':'.$env{'user.domain'});
               }
           }
     }      }
   
     if (($handle ne '') && (-e $handle)) {      if ($handle ne '') {
           if ($r->user() eq '') {
               if ($user{'domain'} eq $r->dir_config('lonDefDomain')) {
                   $r->user($user{'name'});
               } else {
                   $r->user($user{'name'}.':'.$user{'domain'});
               }
           }
         return OK;          return OK;
     }      }
       if (($fail == FORBIDDEN) &&
           (($r->uri eq '/adm/email') || ($r->uri eq '/adm/preferences') ||
            ($r->uri eq '/adm/requestcourse'))) {
           $env{'form.firsturl'} = $r->uri;
       }
     return $fail;      return $fail;
 }  }
   

Removed from v.1.8  
changed lines
  Added in v.1.15


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