--- loncom/auth/lonacc.pm 2019/08/01 02:51:45 1.159.2.8 +++ loncom/auth/lonacc.pm 2020/01/22 18:10:12 1.159.2.8.2.1 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.159.2.8 2019/08/01 02:51:45 raeburn Exp $ +# $Id: lonacc.pm,v 1.159.2.8.2.1 2020/01/22 18:10:12 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -355,6 +355,14 @@ sub sso_login { # login but immediately go to switch server to find us a new # machine &Apache::lonauth::success($r,$user,$domain,$home,'noredirect'); + foreach my $item (keys(%form)) { + $env{'form.'.$item} = $form{$item}; + } + unless ($form{'symb'}) { + unless (($r->uri eq '/adm/roles') || ($r->uri eq '/adm/sso')) { + $env{'form.origurl'} = $r->uri; + } + } $env{'request.sso.login'} = 1; if (defined($r->dir_config("lonSSOReloginServer"))) { $env{'request.sso.reloginserver'} = @@ -541,6 +549,7 @@ sub handler { my $lonhost = &Apache::lonnet::host_from_dns($hostname); if ($lonhost) { my $actual = &Apache::lonnet::absolute_url($hostname); + my $exphostname = &Apache::lonnet::hostname($lonhost); my $expected = $Apache::lonnet::protocol{$lonhost}.'://'.$hostname; unless ($actual eq $expected) { $env{'request.use_absolute'} = $expected; @@ -589,6 +598,9 @@ sub handler { $env{'form.origurl'} = $r->uri; } } + if ($requrl=~m{^/+tiny/+$match_domain/+\w+$}) { + return OK; + } # ---------------------------------------------------------------- Check access my $now = time;