Diff for /loncom/auth/lonstatusacc.pm between versions 1.1 and 1.7

version 1.1, 2008/11/28 19:38:11 version 1.7, 2009/06/13 20:28:56
Line 31 Line 31
 package Apache::lonstatusacc;  package Apache::lonstatusacc;
   
 use strict;  use strict;
 use Apache::Constants qw(:common :remotehost);  use Apache::Constants qw(:common :http :remotehost);
 use Apache::lonnet;  use Apache::lonnet;
 use LONCAPA::loncgi;  use LONCAPA::loncgi;
   use LONCAPA::lonauthcgi;
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     my $reqhost = $r->get_remote_host(REMOTE_NOLOOKUP);      my $reqhost = $r->get_remote_host(REMOTE_NOLOOKUP);
     my $page = 'serverstatus';      my $page = 'server-status';
     if ($r->uri eq '/adm/test') {      if (($r->uri eq '/adm/domainstatus') ||
         $page = 'showenv';          ($r->uri eq '/adm/test')) {
         if (&LONCAPA::loncgi::check_cookie_and_load_env()) {          if (&LONCAPA::loncgi::check_cookie_and_load_env($r)) {
             if (&LONCAPA::loncgi::can_view($page)) {              if ($r->uri eq '/adm/domainstatus') {
                 return OK;   
             } elsif (&LONCAPA::loncgi::check_ipbased_access($page,$reqhost)) {  
                 return OK;                  return OK;
               } elsif ($r->uri eq '/adm/test') { 
                   $page = 'showenv'; 
                   if (&LONCAPA::lonauthcgi::can_view($page)) {
                       return OK; 
                   } elsif (&LONCAPA::lonauthcgi::check_ipbased_access($page,$reqhost)) {
                       return OK;
                   } else {
                       $Apache::lonnet::env{'user.error.msg'} =
                           $r->uri.":bre:1:1:Access Denied";
                       return HTTP_NOT_ACCEPTABLE;
                   }
             }              }
           } else {
               return FORBIDDEN;
         }          }
     } elsif ($r->uri ne '/server-status') {      } elsif ($r->uri ne '/server-status') {
         $page = 'lonstatus';          $page = 'lonstatus';
Line 70  sub handler { Line 82  sub handler {
                 }                  }
             }              }
         }          }
     } elsif (&LONCAPA::loncgi::check_ipbased_access($page,$reqhost)) {      }
       if (&LONCAPA::lonauthcgi::check_ipbased_access($page,$reqhost)) {
         return OK;          return OK;
     } else {      }
         if (&LONCAPA::loncgi::check_cookie_and_load_env($page)) {      if (&LONCAPA::loncgi::check_cookie_and_load_env($r)) {
             if (&LONCAPA::loncgi::can_view($page)) {          if (&LONCAPA::lonauthcgi::can_view($page)) {
                 return OK;              return OK;
             }  
         }          }
     }      }
     $r->log_reason("Invalid request for server status from $reqhost",      $r->log_reason("Invalid request for server status from $reqhost",
Line 149  The check for whether access is allowed Line 161  The check for whether access is allowed
     Access requires a valid session - checked using       Access requires a valid session - checked using 
     LONCAPA::loncgi::check_cookie_and_load_env().       LONCAPA::loncgi::check_cookie_and_load_env(). 
     If so, access is allowed if one of the following is true:      If so, access is allowed if one of the following is true:
     (i) Requestor has LON-CAPA superuser role, or      (i) Requestor's role is LON-CAPA superuser role.
     (ii) Requestor's role is Domain Coordinator in one of the domains      (ii) Requestor has a Domain Coordinator role in the domain of the
          hosted on this server           requestor ($env{'user.domain'}), regardless of requestor's role.
     (iii) Domain configurations for domains hosted on this server include      (iii) Domain configurations for the domain of the current user include
           the requestor as one of the named users (username:domain) with access            the requestor as one of the named users (username:domain) with access
           to the page.            to the page.
     (iv) IP address of requestor is listed in domain configuration list      (iv) IP address of requestor is listed in domain configuration list
          of allowed machines for any of the domains hosted on this server           of allowed IPs for the domain of the current user.
   
 =cut   =cut 
   

Removed from v.1.1  
changed lines
  Added in v.1.7


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