Diff for /loncom/auth/lonshibauth.pm between versions 1.1 and 1.6

version 1.1, 2012/03/05 20:51:29 version 1.6, 2021/09/21 22:54:26
Line 67  package Apache::lonshibauth; Line 67  package Apache::lonshibauth;
   
 use strict;  use strict;
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use Apache::Constants qw(:common);  use Apache::lonnet;
   use Apache::Constants qw(:common REDIRECT);
 use LONCAPA qw(:DEFAULT);  use LONCAPA qw(:DEFAULT);
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
     my $target = '/adm/sso';      my $target = '/adm/sso';
     if (($r->user eq '') && ($r->uri() ne $target)) {      if (&Apache::lonnet::get_saml_landing()) {
         my $dest = &Apache::lonnet::absolute_url($r->hostname()).$target;          $target = '/adm/login';
       }
       my $uri = $r->uri;
       if (($r->user eq '') && ($uri ne $target) && ($uri ne '/adm/sso')) {
           my $lonhost = $Apache::lonnet::perlvar{'lonHostID'};
           my $hostname = &Apache::lonnet::hostname($lonhost);
           if (!$hostname) { $hostname = $r->hostname(); }
           my $protocol = $Apache::lonnet::protocol{$lonhost};
           unless ($protocol eq 'https') { $protocol = 'http'; }
           my $alias = &Apache::lonnet::use_proxy_alias($r,$lonhost);
           $hostname = $alias if ($alias ne '');
           my $dest = $protocol.'://'.$hostname.$target;
         $r->subprocess_env;          $r->subprocess_env;
         if ($ENV{'QUERY_STRING'} ne '') {          if ($ENV{'QUERY_STRING'} ne '') {
             $dest .= '?'.$ENV{'QUERY_STRING'};              $dest .= '?'.$ENV{'QUERY_STRING'};
         }          }
           unless (($uri eq '/adm/roles') || ($ENV{'QUERY_STRING'} =~ /origurl=/)) {
               $dest.=(($dest=~/\?/)?'&':'?').'origurl='.$uri;
           }
         $r->header_out(Location => $dest);          $r->header_out(Location => $dest);
         return REDIRECT;          return REDIRECT;
     } else {      } else {

Removed from v.1.1  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>