--- loncom/auth/lonacc.pm 2018/04/29 00:15:56 1.159.2.5.2.2 +++ loncom/auth/lonacc.pm 2019/02/06 15:14:10 1.159.2.5.2.3 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.159.2.5.2.2 2018/04/29 00:15:56 raeburn Exp $ +# $Id: lonacc.pm,v 1.159.2.5.2.3 2019/02/06 15:14:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -281,7 +281,6 @@ sub upload_size_allowed { sub sso_login { my ($r,$handle,$username) = @_; - my $lonidsdir=$r->dir_config('lonIDsDir'); if (($r->user eq '') || ($username ne '') || ($r->user eq 'public:public') || (defined($env{'user.name'}) && (defined($env{'user.domain'})) && ($handle ne ''))) { @@ -352,6 +351,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'} = @@ -539,6 +546,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; @@ -576,6 +584,9 @@ sub handler { $env{'form.origurl'} = $r->uri; } } + if ($requrl=~m{^/+tiny/+$match_domain/+\w+$}) { + return OK; + } # ---------------------------------------------------------------- Check access my $now = time;