version 1.35, 2016/12/16 15:31:11
|
version 1.38, 2017/11/30 15:14:51
|
Line 106 sub handler {
|
Line 106 sub handler {
|
if ($env{'user.name'} eq 'public' |
if ($env{'user.name'} eq 'public' |
&& $env{'user.domain'} eq 'public') { |
&& $env{'user.domain'} eq 'public') { |
my $url = $protocol.'://'.$switch_to.$r->uri; |
my $url = $protocol.'://'.$switch_to.$r->uri; |
|
unlink($handle); |
|
#expire the cookie |
|
my $c = new CGI::Cookie(-name => 'lonPubID', |
|
-value => '', |
|
-expires => '-10y',); |
|
$r->header_out('Set-cookie' => $c); |
return &do_redirect($r,$url,1) |
return &do_redirect($r,$url,1) |
} |
} |
|
|
Line 123 sub handler {
|
Line 129 sub handler {
|
$skip_canhost_check = 1; |
$skip_canhost_check = 1; |
} |
} |
} elsif ($env{'form.role'} =~ m{^[ac]a\./($match_domain)/($match_username)$}) { |
} elsif ($env{'form.role'} =~ m{^[ac]a\./($match_domain)/($match_username)$}) { |
if (&Apache::lonnet::homeserver($2,$1) eq $env{'form.otherserver'}) { |
my ($audom,$auname) = ($1,$2); |
$skip_canhost_check = 1; |
if (&Apache::lonnet::homeserver($auname,$audom) eq $env{'form.otherserver'}) { |
|
if ((&Apache::lonnet::will_trust('othcoau',$audom,$env{'user.domain'})) && |
|
(&Apache::lonnet::will_trust('coremau',$env{'user.domain'},$audom))) { |
|
$skip_canhost_check = 1; |
|
} |
} |
} |
} |
} |
} |
} |
Line 157 sub handler {
|
Line 167 sub handler {
|
|
|
#remove session env, and log event |
#remove session env, and log event |
unlink($handle); |
unlink($handle); |
|
if ($env{'user.linkedenv'} ne '') { |
|
my $lonidsdir=$r->dir_config('lonIDsDir'); |
|
if ((-l $env{'user.linkedenv'}) && |
|
(readlink($env{'user.linkedenv'}) eq "$lonidsdir/$handle.id")) { |
|
unlink($env{'user.linkedenv'}); |
|
} |
|
} |
my %temp=('switchserver' => time.':'.$env{'form.otherserver'}, |
my %temp=('switchserver' => time.':'.$env{'form.otherserver'}, |
$env{'form.role'}); |
$env{'form.role'}); |
&Apache::lonnet::put('email_status',\%temp); |
&Apache::lonnet::put('email_status',\%temp); |
Line 176 sub handler {
|
Line 193 sub handler {
|
my $c = new CGI::Cookie(-name => 'lonID', |
my $c = new CGI::Cookie(-name => 'lonID', |
-value => '', |
-value => '', |
-expires => '-10y',); |
-expires => '-10y',); |
$r->header_out('Set-cookie' => $c); |
$r->headers_out->add('Set-cookie' => $c); |
|
if ($env{'user.linkedenv'}) { |
|
my $linked = new CGI::Cookie(-name => 'lonLinkID', |
|
-value => '', |
|
-expires => '-10y',); |
|
$r->headers_out->add('Set-cookie' => $linked); |
|
} |
|
|
if ($r->header_only) { |
if ($r->header_only) { |
$r->send_http_header; |
$r->send_http_header; |
Line 205 sub handler {
|
Line 228 sub handler {
|
if ($env{'request.sso.reloginserver'}) { |
if ($env{'request.sso.reloginserver'}) { |
$info{'sso.reloginserver'} = $env{'request.sso.reloginserver'}; |
$info{'sso.reloginserver'} = $env{'request.sso.reloginserver'}; |
} |
} |
|
if ($env{'request.lti.login'}) { |
|
$info{'lti.login'} = $env{'request.lti.login'}; |
|
} |
|
if ($env{'request.lti.passbackid'}) { |
|
$info{'lti.passbackid'} = $env{'request.lti.passbackid'}; |
|
} |
|
if ($env{'request.lti.passbackurl'}) { |
|
$info{'lti.passbackurl'} = $env{'request.lti.passbackurl'}; |
|
} |
|
if ($env{'request.lti.rosterid'}) { |
|
$info{'lti.rosterid'} = $env{'request.lti.rosterid'}; |
|
} |
|
if ($env{'request.lti.rosterurl'}) { |
|
$info{'lti.rosterurl'} = $env{'request.lti.rosterurl'}; |
|
} |
my $token = &Apache::lonnet::tmpput(\%info,$env{'form.otherserver'}); |
my $token = &Apache::lonnet::tmpput(\%info,$env{'form.otherserver'}); |
my $url =$protocol.'://'.$switch_to.'/adm/login?'. |
my $url =$protocol.'://'.$switch_to.'/adm/login?'. |
'domain='.$env{'user.domain'}. |
'domain='.$env{'user.domain'}. |