Diff for /loncom/auth/loncacc.pm between versions 1.18 and 1.19

version 1.18, 2001/12/21 16:57:54 version 1.19, 2002/01/04 14:57:14
Line 1 Line 1
 # The LearningOnline Network  # The LearningOnline Network
 # Cookie Based Access Handler for Construction Area  # Cookie Based Access Handler for Construction Area
 # (lonacc: 5/21/99,5/22,5/29,5/31 Gerd Kortemeyer)  # (lonacc: 5/21/99,5/22,5/29,5/31 Gerd Kortemeyer)
 #  
 # $Id$  
 #  
 # Copyright Michigan State University Board of Trustees  
 #  
 # This file is part of the LearningOnline Network with CAPA (LON-CAPA).  
 #  
 # LON-CAPA is free software; you can redistribute it and/or modify  
 # it under the terms of the GNU General Public License as published by  
 # the Free Software Foundation; either version 2 of the License, or  
 # (at your option) any later version.  
 #  
 # LON-CAPA is distributed in the hope that it will be useful,  
 # but WITHOUT ANY WARRANTY; without even the implied warranty of  
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  
 # GNU General Public License for more details.  
 #  
 # You should have received a copy of the GNU General Public License  
 # along with LON-CAPA; if not, write to the Free Software  
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  
 #  
 # /home/httpd/html/adm/gpl.txt  
 #  
 # http://www.lon-capa.org/  
 #  
 # YEAR=2000  
 # 6/15,16/11,22/11,  # 6/15,16/11,22/11,
 # YEAR=2001  
 # 01/06,01/11,6/1,9/25,9/28,11/22,12/25,12/26,  # 01/06,01/11,6/1,9/25,9/28,11/22,12/25,12/26,
 # 01/06/01,05/04,05/05,05/09 Gerd Kortemeyer  # 01/06/01,05/04,05/05,05/09 Gerd Kortemeyer
 # 12/21 Scott Harrison  
 #  
 ###  
   
 package Apache::loncacc;  package Apache::loncacc;
   
Line 56  sub constructaccess { Line 26  sub constructaccess {
     my $capriv='user.priv.ca./'.      my $capriv='user.priv.ca./'.
                $ownerdomain.'/'.$ownername.'./'.                 $ownerdomain.'/'.$ownername.'./'.
        $ownerdomain.'/'.$ownername;         $ownerdomain.'/'.$ownername;
     foreach (keys %ENV) {      map {
         if ($_ eq $capriv) {          if ($_ eq $capriv) {
            return ($ownername,$ownerdomain);             return ($ownername,$ownerdomain);
         }          }
     }      } keys %ENV;
   
     return '';      return '';
 }  }
Line 162  sub handler { Line 132  sub handler {
                 }                  }
             }              }
  }   }
       $ENV{'request.method'}=$ENV{'REQUEST_METHOD'};
             $r->method_number(M_GET);              $r->method_number(M_GET);
     $r->method('GET');      $r->method('GET');
             $r->headers_in->unset('Content-length');              $r->headers_in->unset('Content-length');
Line 181  sub handler { Line 152  sub handler {
 1;  1;
 __END__  __END__
   
 =head1 NAME  
   
 Apache::lonacc - Cookie Based Access Handler for Construction Area  
   
 =head1 SYNOPSIS  
   
 Invoked (for various locations) by /etc/httpd/conf/srm.conf:  
   
  PerlAccessHandler       Apache::loncacc  
   
 =head1 INTRODUCTION  
   
 This module enables cookie based authentication for construction area  
 and is used to control access for three (essentially equivalent) URIs.  
   
  <LocationMatch "^/priv.*">  
  <LocationMatch "^/\~.*">  
  <LocationMatch "^/\~.*/$">  
   
 Whenever the client sends the cookie back to the server,   
 if the cookie is missing or invalid, the user is re-challenged  
 for login information.  
   
 This is part of the LearningOnline Network with CAPA project  
 described at http://www.lon-capa.org.  
   
 =head1 HANDLER SUBROUTINE  
   
 This routine is called by Apache and mod_perl.  
   
 =over 4  
   
 =item *  
   
 load POST parameters  
   
 =item *  
   
 store where they wanted to go (first url entered)  
   
 =back  
   
 =head1 OTHERSUBROUTINES  
   
 =over 4  
   
 =item *  
   
 constructaccess($url,$ownerdomain) : See if the owner domain and name  
 in the URL match those in the expected environment.  If so, return   
 two element list ($ownername,$ownerdomain).  Else, return null string.  
   
 =back  
   
 =cut  
   
   
   

Removed from v.1.18  
changed lines
  Added in v.1.19


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