Diff for /loncom/auth/lonuploadedacc.pm between versions 1.14 and 1.17

version 1.14, 2008/11/12 20:01:09 version 1.17, 2017/02/08 18:01:32
Line 26 Line 26
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
   
 =head1 NAME  
   
 Apache::lonuploadedacc  
   
 =head1 SYNOPSIS  
   
 The way this is supposed to work:  
   
  User A has client machine C   
  User A is logged into LON-CAPA server S  
  needs file from user B  
  homeserver for user B is H  
   
 This is part of the LearningOnline Network with CAPA project  
 described at http://www.lon-capa.org.  
   
 =head1 HANDLER SUBROUTINE  
   
 This handler runs on H  
 To access a userfile:  
 Server S generates a token and puts it into the query string of URL for H  
 Client box C asks H for file with token issued by C  
 H now must ask S if token is valid, uses S's lond-command tokenauthuserfile  
   
 =cut  
   
 package Apache::lonuploadedacc;  package Apache::lonuploadedacc;
   
Line 58  package Apache::lonuploadedacc; Line 34  package Apache::lonuploadedacc;
 use strict;  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::lonnet;  use Apache::lonnet;
   use LONCAPA qw(:match);
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
Line 70  sub handler { Line 47  sub handler {
                  $udom.'/'.$uname.'/'.$ufile.':'.$env{'form.token'},                   $udom.'/'.$uname.'/'.$ufile.':'.$env{'form.token'},
      $remoteserver);       $remoteserver);
     if ($reply eq 'ok') {      if ($reply eq 'ok') {
          if (($r->user() eq '') && ($env{'form.token'} ne '')) {
              my ($cuname,$cudom) = 
                  ($env{'form.token'} =~ /^($match_username)_\d+_($match_domain)_/); 
              if ($cuname ne '') {
                  if ($cudom eq $r->dir_config('lonDefDomain')) {
                      $r->user($cuname);
                  } else {
                      $r->user($cuname.':'.$cudom);
                  }
              } else {
                  $r->user('public');
              }
          } else {
              $r->user('public');
          }
        return OK;         return OK;
    } elsif ($reply eq 'con_lost' || $reply eq 'no_such_host') {     } elsif ($reply eq 'con_lost' || $reply eq 'no_such_host') {
        &Apache::lonnet::logthis("Server unavailable for userfile access $uname at $udom for $ufile with $remoteserver token $env{'form.token'}: $reply");         &Apache::lonnet::logthis("Server unavailable for userfile access $uname at $udom for $ufile with $remoteserver token $env{'form.token'}: $reply");
Line 89  __END__ Line 81  __END__
   
   
   
   =head1 NAME
   
   Apache::lonuploadedacc
   
   =head1 SYNOPSIS
   
   The way this is supposed to work:
   
    User A has client machine C 
    User A is logged into LON-CAPA server S
    needs file from user B
    homeserver for user B is H
   
   This is part of the LearningOnline Network with CAPA project
   described at http://www.lon-capa.org.
   
   =head1 HANDLER SUBROUTINE
   
   This handler runs on H
   To access a userfile:
   Server S generates a token and puts it into the query string of URL for H
   Client box C asks H for file with token issued by C
   H now must ask S if token is valid, uses S's lond-command tokenauthuserfile
   
   =cut
   
   
   

Removed from v.1.14  
changed lines
  Added in v.1.17


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