version 1.14, 2008/11/12 20:01:09
|
version 1.16, 2017/02/08 06:35:31
|
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:public'); |
|
} |
|
} else { |
|
$r->user('public: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 |
|
|
|
|
|
|