--- loncom/auth/lonauth.pm 2020/05/02 15:29:40 1.121.2.19 +++ loncom/auth/lonauth.pm 2020/10/23 21:21:44 1.121.2.20 @@ -1,7 +1,7 @@ # The LearningOnline Network # User Authentication Module # -# $Id: lonauth.pm,v 1.121.2.19 2020/05/02 15:29:40 raeburn Exp $ +# $Id: lonauth.pm,v 1.121.2.20 2020/10/23 21:21:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -538,6 +538,11 @@ sub handler { ($is_balancer,$otherserver) = &Apache::lonnet::check_loadbalancing($form{'uname'},$form{'udom'},'login'); if ($is_balancer) { + # Check if browser sent a LON-CAPA load balancer cookie (and this is a balancer) + my ($found_server,$balancer_cookie) = &Apache::lonnet::check_for_balancer_cookie($r); + if (($found_server) && ($balancer_cookie =~ /^\Q$env{'user.domain'}\E_\Q$env{'user.name'}\E_/)) { + $otherserver = $found_server; + } if ($otherserver eq '') { my $lowest_load; ($otherserver,undef,undef,undef,$lowest_load) = &Apache::lonnet::choose_server($form{'udom'}); @@ -570,6 +575,8 @@ sub handler { } $r->internal_redirect($switchto); } else { + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; $r->print(&noswitch()); } return OK; @@ -591,6 +598,8 @@ sub handler { } $r->internal_redirect($switchto); } else { + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; $r->print(&noswitch()); } return OK;