version 1.164, 2016/08/16 20:17:49
|
version 1.167, 2017/05/08 22:47:01
|
Line 339 sub sso_login {
|
Line 339 sub sso_login {
|
} |
} |
unless ($hosthere) { |
unless ($hosthere) { |
($is_balancer,$otherserver) = |
($is_balancer,$otherserver) = |
&Apache::lonnet::check_loadbalancing($user,$domain); |
&Apache::lonnet::check_loadbalancing($user,$domain,'login'); |
|
if ($is_balancer) { |
|
if ($otherserver eq '') { |
|
my $lowest_load; |
|
($otherserver,undef,undef,undef,$lowest_load) = &Apache::lonnet::choose_server($domain); |
|
if ($lowest_load > 100) { |
|
$otherserver = &Apache::lonnet::spareserver($lowest_load,$lowest_load,1,$domain); |
|
} |
|
} |
|
if ($otherserver ne '') { |
|
my @hosts = &Apache::lonnet::current_machine_ids(); |
|
if (grep(/^\Q$otherserver\E$/,@hosts)) { |
|
$hosthere = $otherserver; |
|
} |
|
} |
|
} |
} |
} |
|
if (($is_balancer) && (!$hosthere)) { |
if ($is_balancer) { |
|
# login but immediately go to switch server to find us a new |
# login but immediately go to switch server to find us a new |
# machine |
# machine |
&Apache::lonauth::success($r,$user,$domain,$home,'noredirect'); |
&Apache::lonauth::success($r,$user,$domain,$home,'noredirect'); |
Line 384 sub sso_login {
|
Line 398 sub sso_login {
|
$info{'sso.reloginserver'} = |
$info{'sso.reloginserver'} = |
$r->dir_config('lonSSOReloginServer'); |
$r->dir_config('lonSSOReloginServer'); |
} |
} |
|
if (($is_balancer) && ($hosthere)) { |
|
$info{'noloadbalance'} = $hosthere; |
|
} |
my $token = |
my $token = |
&Apache::lonnet::tmpput(\%info, |
&Apache::lonnet::tmpput(\%info, |
$r->dir_config('lonHostID')); |
$r->dir_config('lonHostID')); |
Line 508 sub handler {
|
Line 525 sub handler {
|
} |
} |
} elsif ($env{'request.course.id'} && |
} elsif ($env{'request.course.id'} && |
(($requrl =~ m{^/adm/$match_domain/$match_username/aboutme$}) || |
(($requrl =~ m{^/adm/$match_domain/$match_username/aboutme$}) || |
($requrl =~ m{^/public/$cdom/$cnum/syllabus$}))) { |
($requrl eq "/public/$cdom/$cnum/syllabus") || |
|
($requrl =~ m{^/adm/$cdom/$cnum/\d+/ext\.tool$}))) { |
my $query = $r->args; |
my $query = $r->args; |
if ($query) { |
if ($query) { |
foreach my $pair (split(/&/,$query)) { |
foreach my $pair (split(/&/,$query)) { |
Line 656 sub handler {
|
Line 674 sub handler {
|
($requrl=~m|\.problem/smpedit$|) || |
($requrl=~m|\.problem/smpedit$|) || |
($requrl=~/^\/public\/.*\/syllabus$/) || |
($requrl=~/^\/public\/.*\/syllabus$/) || |
($requrl=~/^\/adm\/(viewclasslist|navmaps)$/) || |
($requrl=~/^\/adm\/(viewclasslist|navmaps)$/) || |
($requrl=~/^\/adm\/.*\/aboutme\/portfolio(\?|$)/)) { |
($requrl=~/^\/adm\/.*\/aboutme\/portfolio(\?|$)/) || |
|
($requrl=~m{^/adm/$cdom/$cnum/\d+/ext\.tool$})) { |
# ------------------------------------- This is serious stuff, get symb and log |
# ------------------------------------- This is serious stuff, get symb and log |
my $symb; |
my $symb; |
if ($query) { |
if ($query) { |