version 1.34, 2021/08/08 20:51:33
|
version 1.36, 2021/10/08 14:36:51
|
Line 70 sub handler {
|
Line 70 sub handler {
|
if (($vpnext && &Apache::lonnet::ip_match($remote_ip,$vpnext)) && |
if (($vpnext && &Apache::lonnet::ip_match($remote_ip,$vpnext)) && |
($r->uri !~ m{^/adm/(lti|launch)/})) { |
($r->uri !~ m{^/adm/(lti|launch)/})) { |
$redirect = $hostname; |
$redirect = $hostname; |
if ($redirect eq $hdrhost) { |
} |
|
if ($r->uri eq '/adm/sso') { |
|
if (&Apache::lonnet::alias_shibboleth($lonhost)) { |
undef($redirect); |
undef($redirect); |
|
} else { |
|
$redirect = $hostname; |
} |
} |
} |
} |
|
if ($redirect eq $hdrhost) { |
|
undef($redirect); |
|
} |
} elsif ($hdrhost eq $hostname) { |
} elsif ($hdrhost eq $hostname) { |
$remote_ip = &Apache::lonnet::get_requestor_ip($r,REMOTE_NOLOOKUP,1); |
$remote_ip = &Apache::lonnet::get_requestor_ip($r,REMOTE_NOLOOKUP,1); |
unless (($remote_ip eq '127.0.0.1') || ($remote_ip eq '::1') || |
unless (($remote_ip eq '127.0.0.1') || ($remote_ip eq '::1') || |
Line 86 sub handler {
|
Line 93 sub handler {
|
if (exists($iphost{$remote_ip})) { |
if (exists($iphost{$remote_ip})) { |
undef($redirect); |
undef($redirect); |
} |
} |
|
} elsif ($r->uri eq '/adm/sso') { |
|
unless (&Apache::lonnet::alias_shibboleth($lonhost)) { |
|
undef($redirect); |
|
} |
} |
} |
} |
} |
} |
} |
if ($redirect) { |
if ($redirect) { |
my $uri = $r->uri; |
my $uri = $r->uri; |
if (($uri eq '/adm/sso') || ($uri eq '/adm/switchserver') || |
if (($uri eq '/adm/switchserver') || ($uri =~ m{^/Shibboleth.sso/})) { |
($uri =~ m{^/Shibboleth.sso/})) { |
|
return DECLINED; |
return DECLINED; |
} |
} |
unless ($uri eq '/adm/migrateuser') { |
unless ($uri eq '/adm/migrateuser') { |
my %user; |
my %user; |
my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user); |
my $handle = &Apache::lonnet::check_for_valid_session($r,undef,\%user); |
if (($handle) && ($user{'name'} ne '') && ($user{'domain'} ne '')) { |
if (($handle) && ($user{'name'} ne '') && ($user{'domain'} ne '')) { |
my $token = &get_token($r,$remote_ip,\%user); |
unless (($user{'name'} eq 'public') && ($user{'domain'} eq 'public')) { |
unless ($token eq '') { |
my $token = &get_token($r,$remote_ip,\%user); |
$r->internal_redirect("/adm/migrateuser?token=$token"); |
unless ($token eq '') { |
$r->set_handlers('PerlHandler'=> undef); |
$r->internal_redirect("/adm/migrateuser?token=$token"); |
return DECLINED; |
$r->set_handlers('PerlHandler'=> undef); |
|
return DECLINED; |
|
} |
} |
} |
} |
} |
} |
} |